jp.co.fujitsu.reffi.client.nexaweb.action
クラス DispatchAction

java.lang.Object
  上位を拡張 jp.co.fujitsu.reffi.client.nexaweb.action.AbstractAction
      上位を拡張 jp.co.fujitsu.reffi.client.nexaweb.action.BaseAction
          上位を拡張 jp.co.fujitsu.reffi.client.nexaweb.action.DispatchAction
すべての実装されたインタフェース:
Action

public class DispatchAction
extends BaseAction

[概 要]

モデルの処理結果(成功、失敗)を任意の実装メソッドに振り分けるアクションクラスです。

[詳 細]

BaseAction実装アクションでは、登録されたモデルの処理結果をsuccessForward、 failureForwardメソッドの二つの固定メソッドコールバックで取得しますが、
DispatchAction実装アクションでは、任意のメソッドをコールバックメソッドに 指定します。

BaseAction実装とはモデルの予約方法が異なります。DispatchActionを実装したアクションでは、 reserveModelsの代わりに
reserveModelsAndCallbackMethod(jp.co.fujitsu.reffi.client.nexaweb.action.DispatchAction.CallbackMapping) を実装します。

        @Override
        protected void reserveModelsAndCallbackMethod(CallbackMapping callbackMapping) {
                // HTTPRequestCore機能モデルが成功した場合successFetchDataメソッドが、失敗した場合filureFetchDataメソッドが呼ばれる
                callbackMapping.add(HTTPRequestCore.class, successFetchData, "failureFetchData");
        }
 
reserveModelsAndCallbackMethodで予約したコールバックメソッドを、以下のシグネチャで実装します。
        // モデル処理正常終了時にコールバックされる
        public void successFetchData(Model model, Object result) {
                List wardList = (List)result;
                ObjectDataSource wardListDataSource = getObjectDataSourceById("wardListDataSource");
                wardListDataSource.setSource(wardList);
        }

        // モデル処理異常終了時にコールバックされる
        public Exception failureFetchData(Model model, Exception e) {
                return e;
        }
 

[備 考]

[環 境] JDK 6.0 Update 11

Copyright (c) 2008-2009 FUJITSU Japan All rights reserved.

作成者:
Project Reffi

入れ子のクラスの概要
 class DispatchAction.CallbackMapping
          [概 要] 予約モデルとコールバックメソッド名を格納するクラスです。
 
フィールドの概要
static String CLASS
           
static String FAILURE
           
static String SUCCESS
           
 
コンストラクタの概要
DispatchAction()
           
 
メソッドの概要
 Exception failureForward(int index, Model model, Exception e)
          [概 要] オーバーライド不可です。
protected  void reserveModels(List<Class<? extends Model>> models)
          [概 要] オーバーライド不可です。
protected  void reserveModelsAndCallbackMethod(DispatchAction.CallbackMapping callbackMapping)
          [概 要] コントローラに実行させるモデルクラス群と、結果取得するメソッドを予約するメソッドです。
 ParameterMapping run(ParameterMapping parameterMapping)
          [概 要] コントローラから呼び出されるアクションの基幹メソッドです。
 void successForward(int index, Model model, Object result)
          [概 要] オーバーライド不可です。
 
クラス jp.co.fujitsu.reffi.client.nexaweb.action.BaseAction から継承されたメソッド
complete, isRunModelsAndNoWait, nextModel, prepare, trap, validators
 
クラス jp.co.fujitsu.reffi.client.nexaweb.action.AbstractAction から継承されたメソッド
addPermanent, alertDialog, cascadeWindows, cascadeWindows, closeChildWindows, closeOwnWindow, closeSiblingWindows, createElement, createElementObjectDataSource, getAllWindows, getChildWindows, getClientLogger, getController, getElementById, getElementByNameFromOwnWindow, getElementByNameFromWindow, getElementObjectDataSource, getElementValueByNameFromOwnWindow, getElementValueByNameFromWindow, getObjectDataSourceById, getObjectDataSourceByName, getOwnWindow, getOwnWindowCommunicateId, getParameterMapping, getParentWindow, getPermanent, getPermanent, getSerializedHttpResponseContent, getSiblingWindows, getSubscribingTopicNames, getWindowRect, getWindowsByCommunicateId, isSubscribing, moveToWindowBottomPosition, moveToWindowPosition, moveToWindowPosition, moveToWindowRightPosition, removeElementObjectDataSource, removePermanent, renderResponseToUI, returnElementStatusBeforeError, setController, setParameterMapping, tileWindows, tileWindows, validate, validationFault
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

CLASS

public static final String CLASS
関連項目:
定数フィールド値

SUCCESS

public static final String SUCCESS
関連項目:
定数フィールド値

FAILURE

public static final String FAILURE
関連項目:
定数フィールド値
コンストラクタの詳細

DispatchAction

public DispatchAction()
メソッドの詳細

run

public ParameterMapping run(ParameterMapping parameterMapping)
                     throws Exception

[概 要]

コントローラから呼び出されるアクションの基幹メソッドです。

[詳 細]

BaseAction.run(ParameterMapping)処理を行った後、 reserveModelsAndCallbackMethod(jp.co.fujitsu.reffi.client.nexaweb.action.DispatchAction.CallbackMapping) をテンプレートコールします。
上記メソッドの実装によって予約されたモデル群は、BaseAction同様BaseControllerに譲渡、実行されます。

[備 考]

定義:
インタフェース Action 内の run
オーバーライド:
クラス BaseAction 内の run
パラメータ:
parameterMapping - MVC各レイヤを伝播するパラメータオブジェクト
戻り値:
継承Actionから収集した、コントローラに返却される制御情報
例外:
Exception - アクション実行例外

reserveModelsAndCallbackMethod

protected void reserveModelsAndCallbackMethod(DispatchAction.CallbackMapping callbackMapping)

[概 要]

コントローラに実行させるモデルクラス群と、結果取得するメソッドを予約するメソッドです。

[詳 細]

[備 考]

パラメータ:
callbackMapping - 予約モデルとコールバックメソッド名を格納するオブジェクト

reserveModels

protected final void reserveModels(List<Class<? extends Model>> models)

[概 要]

オーバーライド不可です。

[詳 細]

[備 考]

オーバーライド:
クラス BaseAction 内の reserveModels
パラメータ:
model - 予約モデル群

successForward

public final void successForward(int index,
                                 Model model,
                                 Object result)
                          throws Exception

[概 要]

オーバーライド不可です。

[詳 細]

[備 考]

オーバーライド:
クラス BaseAction 内の successForward
パラメータ:
index - 結果を返却したモデルの実行インデックス
model - 結果を返却したモデルインスタンス
result - モデル処理結果オブジェクト
例外:
Exception

failureForward

public final Exception failureForward(int index,
                                      Model model,
                                      Exception e)

[概 要]

オーバーライド不可です。

[詳 細]

[備 考]

オーバーライド:
クラス BaseAction 内の failureForward
パラメータ:
index - 結果を返却したモデルの実行インデックス
model - 結果を返却したモデルインスタンス
e - モデル異常終了時の例外オブジェクト
戻り値:
引数e、若しくはオーバーライドメソッドで変換された例外


Copyright(C) Fujitsu All Rights Reserved.