概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## woolpack.action
クラス ActionInvoker

    java.lang.Object
      woolpack.action.ActionInvoker

    public class ActionInvoker

extends java.lang.Object

アクションを実行するインボーカ。

作成者:
  nakamura

コンストラクタの概要
`ActionInvoker(Switchable<java.lang.String,ActionDef> switchable, ForwardDef... array)` コンストラクタ。
`ActionInvoker(Switchable<java.lang.String,ActionDef> switchable, java.lang.Iterable<ForwardDef> iterable)` コンストラクタ。

メソッドの概要
`static ActionResult` | `findId(java.lang.Iterable<ForwardDef> iterable, java.lang.Object aReturnedObject)` 遷移先定義を検索して実行結果を返す。
`ActionResult` | `invoke(java.lang.Object root, java.lang.String id, java.util.Map inputMap)` アクションを実行する。
`static void` | `setValuesTo(java.lang.Object root, java.util.Map inputMap)` inputMap の値を root に設定する。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### ActionInvoker

    public ActionInvoker(Switchable<java.lang.String,ActionDef> switchable,
                         java.lang.Iterable<ForwardDef> iterable)

  コンストラクタ。

  パラメータ:
    `switchable` - アクション id とアクション定義の`Map`。
    `iterable` - 遷移先定義の一覧。本クラスはこの引数の状態を変化させない。ステートレスであるべき。
  例外:
    `java.lang.NullPointerException` - 引数のいずれかが null の場合。

### ActionInvoker

    public ActionInvoker(Switchable<java.lang.String,ActionDef> switchable,
                         ForwardDef... array)

  コンストラクタ。

  パラメータ:
    `switchable` - アクション id とアクション定義の`Map`。
    `array` - 遷移先定義の一覧。本クラスはこの引数の状態を変化させない。ステートレスであるべき。
  例外:
    `java.lang.NullPointerException` - 引数のいずれかが null の場合。

メソッドの詳細

### invoke

    public ActionResult invoke(java.lang.Object root,
                               java.lang.String id,
                               java.util.Map inputMap)
                        throws ForwardDefNotFoundException

  アクションを実行する。 このメソッドは、 アクションidに対するアクション定義を検索し、 root から`ActionDef.getComponentEL()`でコンポーネントを取得し、 inputMap の値をコンポーネントに設定し、 root のメソッド`ActionDef.getMethodEL()`を実行し、 実行結果にマッチする遷移先を`ForwardDef`の一覧を検索する。 アクション定義に遷移先定義が見つからない場合、コンストラクタ引数の forwardDefIterable から遷移先定義を検索する。

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

### setValuesTo

    public static void setValuesTo(java.lang.Object root,
                                   java.util.Map inputMap)

  inputMap の値を root に設定する。

  パラメータ:
    `root` - 基点。null なら設定しない。
    `inputMap` - 設定する値の`Map`。
  例外:
    `java.lang.NullPointerException` - inputMap が null の場合。

### findId

    public static ActionResult findId(java.lang.Iterable<ForwardDef> iterable,
                                      java.lang.Object aReturnedObject)
                               throws ForwardDefNotFoundException

  遷移先定義を検索して実行結果を返す。

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

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド