jp.terasoluna.fw.web.struts.action.resolver
クラス BLogicActionResolver

java.lang.Object
  上位を拡張 jp.terasoluna.fw.web.struts.action.resolver.AbstractActionResolver
      上位を拡張 jp.terasoluna.fw.web.struts.action.resolver.BLogicActionResolver
すべての実装されたインタフェース:
ActionResolver, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.core.Ordered

public class BLogicActionResolver
extends AbstractActionResolver
implements org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware

BLogicActionResolver

BLogicBLogicActionを結びつけるアクションリゾルバ。

デフォルトでは "defaultBlogicAction" という名前でBLogicAction取得する。
BLogicActionのBean定義のスコープは prototype で定義しておくこと。

モジュール分割を行う場合は、ContextLoaderListener から読み込まれるBean定義ファイル(applicationContext.xmlなど)には定義せず、
ContextLoaderPlugIn から読み込まれるBean定義ファイル(moduleContext.xmlなど)にモジュールごとに定義すること。

関連項目:
DelegatingRequestProcessorEx, DefaultDelegateActionHandler, ActionResolver, AbstractActionResolver

フィールドの概要
protected  Map<String,String> actionPathMap
          アクションパス-Bean名マップ
protected  ConcurrentHashMap<jp.terasoluna.fw.service.thin.BLogic<?>,org.apache.struts.action.Action> blogicActionMap
          BLogicActionキャッシュ
protected  ConcurrentHashMap<Object,org.apache.struts.action.Action> otherActionMap
          Actionキャッシュ
protected  org.springframework.web.context.WebApplicationContext webApplicationContext
          WebApplicationContext
 
クラス jp.terasoluna.fw.web.struts.action.resolver.AbstractActionResolver から継承されたフィールド
actionName, configReflectorMap, lock, pathPatterns, regexMap
 
インタフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
コンストラクタの概要
BLogicActionResolver()
           
 
メソッドの概要
protected  void addTargetComponent(Map<String,Object> cpMap, org.springframework.web.context.WebApplicationContext wac)
          処理対象のコンポーネントをコンポーネントマップに追加する
 void afterPropertiesSet()
           
protected  org.apache.struts.action.Action extensionProcess(Object key, org.apache.struts.action.Action action, String beanName, org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionServlet servlet, org.springframework.web.context.WebApplicationContext wac)
          アクションに対する追加処理
protected  org.apache.struts.action.Action getActionCache(Object cacheKey)
          アクションキャッシュから取得する。
protected  Object getActionCacheKey(String beanName, org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionServlet servlet, org.springframework.web.context.WebApplicationContext wac)
          アクションキャッシュキーを取得する
protected  String[] getActionComponentPath(Class<? extends Object> targetClass)
          ターゲットクラスのActionComponentアノテーションから取得したアクションパス配列を返却する
protected  String[] getActionPathArray(Object obj)
          ターゲットオブジェクトからアクションパス配列を取得して返却する
protected  String getAnnotationBeanEntry(String actionPath, org.springframework.web.context.WebApplicationContext wac)
          アノテーションに付与されたアクションパス名から実際のBean名を返却する.
protected  String[] getBLogicComponentPath(Class<? extends Object> targetClass)
          ターゲットクラスのBLogicComponentアノテーションから取得したアクションパス配列を返却する
protected  Class<? extends Object> getTargetClass(Object targetObject)
          オブジェクトのクラス型を取得する
protected  boolean isBeanExist(String beanName, org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionServlet servlet, org.springframework.web.context.WebApplicationContext wac)
          Bean存在チェック
protected  boolean isCacheEnabled(Object key, org.apache.struts.action.Action resultAction, String beanName, org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionServlet servlet, org.springframework.web.context.WebApplicationContext wac)
          キャッシュすべきかどうか判定する
protected  void putActionCache(Object cacheKey, org.apache.struts.action.Action action)
          アクションキャッシュに格納する。
 void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
           
 
クラス jp.terasoluna.fw.web.struts.action.resolver.AbstractActionResolver から継承されたメソッド
callConfigurationReflector, getDelegateAction, getOrder, setActionName, setOrder, setPathPattern, setPathPatterns, supports
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

blogicActionMap

protected ConcurrentHashMap<jp.terasoluna.fw.service.thin.BLogic<?>,org.apache.struts.action.Action> blogicActionMap
BLogicActionキャッシュ


otherActionMap

protected ConcurrentHashMap<Object,org.apache.struts.action.Action> otherActionMap
Actionキャッシュ


actionPathMap

protected Map<String,String> actionPathMap
アクションパス-Bean名マップ


webApplicationContext

protected org.springframework.web.context.WebApplicationContext webApplicationContext
WebApplicationContext

コンストラクタの詳細

BLogicActionResolver

public BLogicActionResolver()
メソッドの詳細

afterPropertiesSet

public void afterPropertiesSet()
                        throws Exception
定義:
インタフェース org.springframework.beans.factory.InitializingBean 内の afterPropertiesSet
例外:
Exception

addTargetComponent

protected void addTargetComponent(Map<String,Object> cpMap,
                                  org.springframework.web.context.WebApplicationContext wac)
処理対象のコンポーネントをコンポーネントマップに追加する

パラメータ:
cpMap - コンポーネントマップ
wac - WebApplicationContext

getActionPathArray

protected String[] getActionPathArray(Object obj)
ターゲットオブジェクトからアクションパス配列を取得して返却する

パラメータ:
obj - Object ターゲットオブジェクト
戻り値:
String[] アクションパス配列

getBLogicComponentPath

protected String[] getBLogicComponentPath(Class<? extends Object> targetClass)
ターゲットクラスのBLogicComponentアノテーションから取得したアクションパス配列を返却する

パラメータ:
targetClass - ターゲットクラス
戻り値:
String[] アクションパス配列

getActionComponentPath

protected String[] getActionComponentPath(Class<? extends Object> targetClass)
ターゲットクラスのActionComponentアノテーションから取得したアクションパス配列を返却する

パラメータ:
targetClass - ターゲットクラス
戻り値:
String[] アクションパス配列

isBeanExist

protected boolean isBeanExist(String beanName,
                              org.apache.struts.action.ActionMapping mapping,
                              org.apache.struts.action.ActionServlet servlet,
                              org.springframework.web.context.WebApplicationContext wac)
クラス AbstractActionResolver の記述:
Bean存在チェック

定義:
クラス AbstractActionResolver 内の isBeanExist
パラメータ:
beanName - String Bean名
mapping - ActionMapping
servlet - ActionServlet
wac - WebApplicationContext
戻り値:
true:OK false:NG

getActionCacheKey

protected Object getActionCacheKey(String beanName,
                                   org.apache.struts.action.ActionMapping mapping,
                                   org.apache.struts.action.ActionServlet servlet,
                                   org.springframework.web.context.WebApplicationContext wac)
クラス AbstractActionResolver の記述:
アクションキャッシュキーを取得する

定義:
クラス AbstractActionResolver 内の getActionCacheKey
パラメータ:
beanName - String Bean名
mapping - ActionMapping
servlet - ActionServlet
wac - WebApplicationContext
戻り値:
アクションキャッシュキー

getAnnotationBeanEntry

protected String getAnnotationBeanEntry(String actionPath,
                                        org.springframework.web.context.WebApplicationContext wac)
アノテーションに付与されたアクションパス名から実際のBean名を返却する.

パラメータ:
actionPath - String アクションパス
wac - WebApplicationContext
戻り値:
Bean名

getTargetClass

protected Class<? extends Object> getTargetClass(Object targetObject)
オブジェクトのクラス型を取得する

パラメータ:
targetObject - 対象のオブジェクト
戻り値:
対象のオブジェクトのクラス型

getActionCache

protected org.apache.struts.action.Action getActionCache(Object cacheKey)
クラス AbstractActionResolver の記述:
アクションキャッシュから取得する。

定義:
クラス AbstractActionResolver 内の getActionCache
パラメータ:
cacheKey - アクションキャッシュキー
戻り値:
Action キャッシュされたアクション

putActionCache

protected void putActionCache(Object cacheKey,
                              org.apache.struts.action.Action action)
クラス AbstractActionResolver の記述:
アクションキャッシュに格納する。

定義:
クラス AbstractActionResolver 内の putActionCache
パラメータ:
cacheKey - Object アクションキャッシュキー
action - Action キャッシュするアクション

extensionProcess

protected org.apache.struts.action.Action extensionProcess(Object key,
                                                           org.apache.struts.action.Action action,
                                                           String beanName,
                                                           org.apache.struts.action.ActionMapping mapping,
                                                           org.apache.struts.action.ActionServlet servlet,
                                                           org.springframework.web.context.WebApplicationContext wac)
クラス AbstractActionResolver の記述:
アクションに対する追加処理

定義:
クラス AbstractActionResolver 内の extensionProcess
パラメータ:
key - Object アクションキャッシュキー
action - Action 処理対象アクション
beanName - String Bean名
mapping - ActionMapping
servlet - ActionServlet
wac - WebApplicationContext
戻り値:
action Action 処理済アクション

isCacheEnabled

protected boolean isCacheEnabled(Object key,
                                 org.apache.struts.action.Action resultAction,
                                 String beanName,
                                 org.apache.struts.action.ActionMapping mapping,
                                 org.apache.struts.action.ActionServlet servlet,
                                 org.springframework.web.context.WebApplicationContext wac)
クラス AbstractActionResolver の記述:
キャッシュすべきかどうか判定する

定義:
クラス AbstractActionResolver 内の isCacheEnabled
パラメータ:
key - Object アクションキャッシュキー
resultAction - Action 処理対象アクション
beanName - String Bean名
mapping - ActionMapping
servlet - ActionServlet
wac - WebApplicationContext
戻り値:
true:OK false:NG

setApplicationContext

public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
                           throws org.springframework.beans.BeansException
定義:
インタフェース org.springframework.context.ApplicationContextAware 内の setApplicationContext
例外:
org.springframework.beans.BeansException


Copyright © 2012. All Rights Reserved.