|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.co.fujitsu.reffi.client.nexaweb.model.BaseModel
public class BaseModel
[概 要]
Model I/Fを実装した、全てのModelの基底クラスです。[詳 細]
この基底Modelクラスを継承したModelクラスは、以下の3つのイベントを 発火する処理を実装する必要が有ります。 Model処理成功イベント:ModelProcessEvent evt = new ModelProcessEvent(this); evt.setResult(result); // 任意のモデル処理結果 fireModelSuccess(evt);Model処理失敗イベント:
ModelProcessEvent evt = new ModelProcessEvent(this); evt.setExeption(e); // 発生した例外 fireModelFailure(evt);Model処理終了イベント:
ModelProcessEvent evt = new ModelProcessEvent(this); fireModelFinished(evt);これらのイベントをBaseController内のモデル処理リスナがハンドリングすることによって、 BaseAction#successForwardとBaseAction#failureForwardがコールバックされます。 BaseAction継承クラス内ではモデル処理の正常、異常を上記のメソッドをオーバーライド することで検知することが出来ます。
[備 考]
Reffiパッケージ内に存在する、~.model.*.~Coreクラスにはイベント発火処理が既に実装されています。 これらのクラスを継承する場合は、イベントディスパッチ処理を実装する必要は有りません。[環 境] JDK 6.0 Update 11
Copyright (c) 2008-2009 FUJITSU Japan All rights reserved.
コンストラクタの概要 | |
---|---|
BaseModel()
[概 要] デフォルトコンストラクタです。 |
メソッドの概要 | |
---|---|
void |
addModelProcessListener(ModelProcessListener listener)
[概 要] モデル監視リスナリストにモデル監視リスナを追加します。 |
protected void |
finalproc()
[概 要] run() が終了したタイミングでテンプレートコールされるメソッドです。 |
void |
fireModelFailure(ModelProcessEvent evt)
[概 要] モデル処理失敗イベントを発火するイベントです。 |
void |
fireModelFinished(ModelProcessEvent evt)
[概 要] モデル処理終了イベントを発火するイベントです。 |
void |
fireModelSuccess(ModelProcessEvent evt)
[概 要] モデル処理成功イベントを発火するメソッドです。 |
BaseController |
getController()
[概 要] このモデルを起動したコントローラインスタンスを返却します。 |
int |
getExecuteIndex()
[概 要] このモデルがコントローラによって実行された実行順位を返却します。 |
List<ModelProcessListener> |
getListenerList()
[概 要] このモデルの正常終了、異常終了を監視するリスナリストを返却します。 |
ParameterMapping |
getParameterMapping()
[概 要] MVC各レイヤを巡回するパラメータオブジェクトを返却します。 |
Object |
getResult()
[概 要] 汎用的なモデル処理結果格納オブジェクトを返却します。 |
int |
getSuccessCount()
[概 要] モデルインスタンス生存中に、何回モデル処理が成功したかを返却します。 |
protected int |
incrementSuccessCount()
[概 要] モデル処理成功回数を1増加させて返却します。 |
boolean |
isSkip()
[概 要] このモデルを実行するか、コントローラが判断する為のフラグを取得します。 |
protected void |
mainproc()
[概 要] 主処理テンプレートメソッドです。 |
protected void |
postproc()
[概 要] 後処理テンプレートメソッドです。 |
protected boolean |
preproc()
[概 要] 前処理テンプレートメソッドです。 |
void |
removeModelProcessListener(ModelProcessListener listener)
[概 要] モデル監視リスナリストからモデル監視リスナを削除します。 |
void |
run()
[概 要] Modelの処理を開始するメソッドです。 |
void |
setController(BaseController controller)
[概 要] このモデルを起動したコントローラインスタンスを設定します。 |
void |
setExecuteIndex(int executeIndex)
[概 要] このモデルがコントローラによって実行された実行順位を設定します。 |
void |
setListenerList(List<ModelProcessListener> listenerList)
[概 要] このモデルの正常終了、異常終了を監視するリスナリストを設定します。 |
void |
setParameterMapping(ParameterMapping parameterMapping)
[概 要] MVC各レイヤを巡回するパラメータオブジェクトを設定します。 |
void |
setResult(Object result)
[概 要] 汎用的なモデル処理結果格納オブジェクトを設定します。 |
void |
setSkip(boolean skip)
[概 要] このモデルを実行するか、コントローラが判断する為のフラグを設定します。 |
protected Exception |
trap(Exception e)
[概 要] run() 内で発生した全例外をハンドリングするメソッドです。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public BaseModel()
[概 要]
デフォルトコンストラクタです。[詳 細]
このモデル処理結果を監視するリスナ群を格納するリストインスタンス を生成します。[備 考]
メソッドの詳細 |
---|
public Object getResult()
[概 要]
汎用的なモデル処理結果格納オブジェクトを返却します。[詳 細]
resultフィールド値を変革します。[備 考]
Model
内の getResult
public void setResult(Object result)
[概 要]
汎用的なモデル処理結果格納オブジェクトを設定します。[詳 細]
resultフィールド値を引数resultで設定します。[備 考]
result
- 汎用的なモデル処理結果格納オブジェクトpublic ParameterMapping getParameterMapping()
[概 要]
MVC各レイヤを巡回するパラメータオブジェクトを返却します。[詳 細]
parameterMappingフィールド値を返却します。[備 考]
public void setParameterMapping(ParameterMapping parameterMapping)
[概 要]
MVC各レイヤを巡回するパラメータオブジェクトを設定します。[詳 細]
parameterMappingフィールド値を引数parameterMappingで設定します。[備 考]
parameterMapping
- MVC各レイヤを巡回するパラメータオブジェクトpublic BaseController getController()
[概 要]
このモデルを起動したコントローラインスタンスを返却します。[詳 細]
controllerフィールド値を返却します。[備 考]
public void setController(BaseController controller)
[概 要]
このモデルを起動したコントローラインスタンスを設定します。[詳 細]
controllerフィールド値を引数controllerで設定します。[備 考]
controller
- public int getExecuteIndex()
[概 要]
このモデルがコントローラによって実行された実行順位を返却します。[詳 細]
executeIndexフィールド値を返却します。[備 考]
public void setExecuteIndex(int executeIndex)
[概 要]
このモデルがコントローラによって実行された実行順位を設定します。[詳 細]
executeIndexフィールド値を引数executeIndexで設定します。[備 考]
executeIndex
- このモデルがコントローラによって実行された実行順位public List<ModelProcessListener> getListenerList()
[概 要]
このモデルの正常終了、異常終了を監視するリスナリストを返却します。[詳 細]
listenerListフィールド値を返却します。[備 考]
public void setListenerList(List<ModelProcessListener> listenerList)
[概 要]
このモデルの正常終了、異常終了を監視するリスナリストを設定します。[詳 細]
listenerListフィールド値を引数listenerListで設定します。[備 考]
listenerList
- このモデルの正常終了、異常終了を監視するリスナリストpublic void addModelProcessListener(ModelProcessListener listener)
[概 要]
モデル監視リスナリストにモデル監視リスナを追加します。[詳 細]
listenerListフィールドオブジェクトに引数listenerを追加します。[備 考]
Model
内の addModelProcessListener
listener
- モデル監視リスナpublic void removeModelProcessListener(ModelProcessListener listener)
[概 要]
モデル監視リスナリストからモデル監視リスナを削除します。[詳 細]
listenerListフィールドオブジェクトから引数listenerを削除します。[備 考]
listener
- モデル監視リスナpublic int getSuccessCount()
[概 要]
モデルインスタンス生存中に、何回モデル処理が成功したかを返却します。[詳 細]
successCountフィールド値を返却します。[備 考]
protected int incrementSuccessCount()
[概 要]
モデル処理成功回数を1増加させて返却します。[詳 細]
successCountフィールド値をインクリメントします。[備 考]
SubscribeCore等、継続的に成功イベントを発行するモデルはsuccessCount値が増大します。
public boolean isSkip()
[概 要]
このモデルを実行するか、コントローラが判断する為のフラグを取得します。[詳 細]
skipフィールドを返却します。[備 考]
このフラグがtrueの場合、コントローラはこのモデルを実行しません。
public void setSkip(boolean skip)
[概 要]
このモデルを実行するか、コントローラが判断する為のフラグを設定します。[詳 細]
skipフィールドを引数skipで設定します。[備 考]
下記例の場合、予約モデルは3つですが、実行されるのは2つになります。
使用例)
・一回目の通信結果を判断して二回目の実行モデルを切り替える
@Override protected void reserveModels(List> models) { // 実行する可能性の有るモデルを予め登録 models.add(HTTPRequestCore.class); models.add(SubscribeCore.class); models.add(PublishCore.class); } @Override public boolean nextModel(int index, ModelProcessEvent prev, Model next) throws Exception { switch(index){ case 0: ((HTTPRequestCore)next).setRequestUrl("webcontroller"); ((HTTPRequestCore)next).addUrlParameters("model.fqcn", "demo.server.model.DataFetchModel"); break; case 1: // 一回目の通信結果を取得 this.dao = (DataDao)prev.getResult(); if(this.dao.getDivision() == 0) { ((SubscribeCore)next).setTopic(channelName); ((SubscribeCore)next).setSubscribe(true); }else { // 想定外なのでスキップ。SubscribeCoreをコントローラに実行させない ((SubscribeCore)next).setSkip(true); } break; case 2: if(this.dao.getDivision() == 1) { ((PublishCore)next).setTopic(channelName); ((PublishCore)next).setPublishObject(handleName + "が入室しました。"); }else{ // 想定外なのでスキップ。PublishCoreをコントローラに実行させない ((PublishCore)next).setSkip(true); } break; } return true; }
skip
- このモデルを実行するかコントローラが判断する為のフラグpublic void run() throws Exception
[概 要]
Modelの処理を開始するメソッドです。[詳 細]
モデルの処理フローを生成します。 下記のテンプレートメソッドが順にテンプレートコールされます。上記メソッド内で例外が発生した場合、trapメソッドがテンプレートコールされます。
[備 考]
例外が発生した場合、デフォルト動作としてModel処理失敗イベントが発火されますが、 trapオーバーライドメソッドでnullを返却すると、このイベントは発火されません。
Model
内の run
Exception
- 発生する可能性の有る全例外protected boolean preproc() throws Exception
[概 要]
前処理テンプレートメソッドです。[詳 細]
デフォルト処理はtrueを返却します。
mainprocよりも先に呼ばれるメソッドです。
オーバーライドして、主処理の前に行う初期化を記述します。
nullを返却すると、それ以降のモデル処理は中止されます。
[備 考]
Exception
- オーバーライド先で発生する可能性が有る例外protected void mainproc() throws Exception
[概 要]
主処理テンプレートメソッドです。[詳 細]
デフォルト処理は有りません。[備 考]
Exception
- オーバーライド先で発生する可能性が有る例外protected void postproc() throws Exception
[概 要]
後処理テンプレートメソッドです。[詳 細]
デフォルト処理は有りません。[備 考]
Exception
- オーバーライド先で発生する可能性が有る例外protected Exception trap(Exception e)
[概 要]
run()
内で発生した全例外をハンドリングするメソッドです。
[詳 細]
デフォルト処理は有りません。[備 考]
e
- オーバーライド先で発生する可能性が有る例外
protected void finalproc()
[概 要]
run()
が終了したタイミングでテンプレートコールされるメソッドです。
[詳 細]
デフォルト処理は有りません。[備 考]
public void fireModelSuccess(ModelProcessEvent evt)
[概 要]
モデル処理成功イベントを発火するメソッドです。[詳 細]
モデル処理成功回数を1増加させ、このモデルに登録されているモデル処理監視リスナ群 に対して処理が成功したことを通知します。[備 考]
以下のようにModelProcessEventを生成してから使用します。// モデル処理イベントインスタンス生成 ModelProcessEvent evt = new ModelProcessEvent(this); evt.setResult(result); // 発火 fireModelSuccess(evt);
evt
- モデル成功処理結果が入ったModelProcessEventインスタンスpublic void fireModelFailure(ModelProcessEvent evt)
[概 要]
モデル処理失敗イベントを発火するイベントです。[詳 細]
このモデルに登録されているモデル処理監視リスナ群に対して処理が失敗したことを通知します。[備 考]
evt
- モデル失敗処理結果が入ったModelProcessEventインスタンスfireModelSuccess(ModelProcessEvent)
public void fireModelFinished(ModelProcessEvent evt)
[概 要]
モデル処理終了イベントを発火するイベントです。[詳 細]
このモデルに登録されているモデル処理監視リスナ群に対して処理が終了したことを通知します。[備 考]
evt
- モデル終了処理結果が入ったModelProcessEventインスタンスfireModelSuccess(ModelProcessEvent)
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |