woolpack.action
クラス ActionInvoker

java.lang.Object
  上位を拡張 woolpack.action.ActionInvoker

public class ActionInvoker
extends java.lang.Object

アクション定義の一覧と遷移先定義の一覧の集合。

作成者:
nakamura

コンストラクタの概要
ActionInvoker(java.util.Map<java.lang.String,ActionDef> actionDefMap, ForwardDef... forwardDefIterable)
           
ActionInvoker(java.util.Map<java.lang.String,ActionDef> actionDefMap, java.lang.Iterable<ForwardDef> forwardDefIterable)
          コンストラクタ。
 
メソッドの概要
static ActionResult findId(java.lang.Iterable<ForwardDef> iterable, java.lang.Object aReturnedObject)
          遷移先定義を検索して実行結果を返す。
 java.util.Map<java.lang.String,ActionDef> getActionDefMap()
          アクション定義のMapを返す。
 java.lang.Iterable<ForwardDef> getForwardDefIterable()
          遷移先定義の一覧を返す。
 ActionResult invoke(java.lang.Object root, java.lang.String id, java.util.Map inputMap)
          アクションを実行する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ActionInvoker

public ActionInvoker(java.util.Map<java.lang.String,ActionDef> actionDefMap,
                     java.lang.Iterable<ForwardDef> forwardDefIterable)
コンストラクタ。

パラメータ:
actionDefMap - アクション id とアクション定義のMap。ステートレスであるべき。
forwardDefIterable - 遷移先定義の一覧。ステートレスであるべき。
例外:
java.lang.NullPointerException - 引数のいずれかが null の場合。

ActionInvoker

public ActionInvoker(java.util.Map<java.lang.String,ActionDef> actionDefMap,
                     ForwardDef... forwardDefIterable)
メソッドの詳細

invoke

public ActionResult invoke(java.lang.Object root,
                           java.lang.String id,
                           java.util.Map inputMap)
アクションを実行する。 このメソッドは、 アクションidに対するアクション定義を検索し、 root からActionDef.getComponentOGE()でコンポーネントを取得し、 inputMap の値をコンポーネントに設定し、 root のメソッドActionDef.getMethodOGE()を実行し、 ActionDef.forwardDefIterableから遷移先定義を検索する。 アクション定義に遷移先定義が見つからない場合、getForwardDefIterable()から遷移先定義を検索する。

パラメータ:
root - コンポーネント・メソッド検索の基点。
id - アクション id。
inputMap - 入力値のMap。ServletRequest#getParameterMap()またはそれをValidatorConstants#convert(Map)で変換した結果が渡されることを想定している。OGNLに渡すだけなので汎用化型を指定していない。
戻り値:
実行結果。
例外:
java.lang.RuntimeException - (ForwardDefNotFoundException)該当する遷移先定義が見つからない場合。
java.lang.NullPointerException - 引数のいずれかが null の場合。

findId

public static ActionResult findId(java.lang.Iterable<ForwardDef> iterable,
                                  java.lang.Object aReturnedObject)
                           throws ForwardDefNotFoundException
遷移先定義を検索して実行結果を返す。

パラメータ:
iterable - 遷移先定義の一覧。
aReturnedObject - メソッドが返却したオブジェクト。
戻り値:
実行結果。
例外:
ForwardDefNotFoundException - 該当する遷移先定義が見つからない場合。

getActionDefMap

public java.util.Map<java.lang.String,ActionDef> getActionDefMap()
アクション定義のMapを返す。 テスト用。

戻り値:
アクション定義のMap。

getForwardDefIterable

public java.lang.Iterable<ForwardDef> getForwardDefIterable()
遷移先定義の一覧を返す。 テスト用。

戻り値:
遷移先定義の一覧。