jp.co.fujitsu.reffi.server.model
クラス AbstractModel

java.lang.Object
  上位を拡張 jp.co.fujitsu.reffi.server.model.AbstractModel
すべての実装されたインタフェース:
java.io.Serializable
直系の既知のサブクラス:
DefaultModel

public abstract class AbstractModel
extends java.lang.Object
implements java.io.Serializable

[概 要]

基底モデルクラス。

[詳 細]

DefaultInvokerにて呼び出されるモデルの基底クラスとなります。
開発者は本クラスを継承したクラスにてロジックを開発することができます。
以下はサンプルの実装例です。
public class DemoModel extends AbstractModel {
        public void mainProcess() throws Exception {
                // リクエストから「key」に設定されている値を取得
                String value = getRequestParameter("key", String.class);
                // ループ処理を実行し、結果配列へ格納
                List<String> results = new ArrayList<String>();
                for (int i = 0; i < 10; i++) {
                        results.add(value + "-" + String.valueOf(i));
                }
                // クライアントへ結果を送信するため、配列を設定
                setResponse(results);
        }
}
 

サンプルではクライアントから送信されたパラメータ「key」を文字列で受け取り、 結果として生成した配列に、取得した「key」パラメータのデータとループの回数 を結合した文字列を登録、配列をレスポンスとして登録しています。

この場合、setResponse(java.lang.Object)にて登録した変数「results」がクライアントへ 送信される結果となります。実際の送信処理はモデルの呼び出し元にて行われます。

また、モデルのメイン処理(mainProcess())を処理する前に何かしらの処理を 行いたい場合はpreProcess()を実装することで対処が できます。

同様にpostProcess()にてmainProcess() を実行したあとの処理が実装可能です。

finalProcess()は、処理の成功/失敗に関わらず、全ての 処理が終了した際に呼び出されます。

[備 考]

作成者:
Project Reffi
関連項目:
直列化された形式

コンストラクタの概要
AbstractModel()
           
 
メソッドの概要
protected  void finalProcess()
          [概 要] 最終処理。
 java.util.Map<java.lang.Object,java.lang.Object> getRequest()
          [概 要] リクエスト情報取得。
 java.lang.Object getRequestParameter(java.lang.Object key)
          [概 要] リクエストパラメータ情報取得。
<T> T
getRequestParameter(java.lang.Object key, java.lang.Class<T> clazz)
          [概 要] リクエストパラメータ情報取得。
 java.lang.Object getResponse()
          [概 要] レスポンス情報取得。
protected  void mainProcess()
          [概 要] メイン処理。
protected  void postProcess()
          [概 要] 事後処理。
protected  boolean preProcess()
          [概 要] 事前処理。
 void run()
          [概 要] モデル実行。
 void setRequest(java.util.Map<java.lang.Object,java.lang.Object> request)
          [概 要] リクエスト情報設定。
 void setResponse(java.lang.Object response)
          [概 要] レスポンス情報設定。
protected  java.lang.Exception trap(java.lang.Exception e)
          [概 要] 例外ハンドリング。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

AbstractModel

public AbstractModel()
メソッドの詳細

getRequest

public java.util.Map<java.lang.Object,java.lang.Object> getRequest()

[概 要]

リクエスト情報取得。

[詳 細]

リクエスト情報を取得します。
リクエスト情報はモデルの呼び出し元クラスで生成されたものが設定されています。

[備 考]

戻り値:
マップ化されたリクエスト情報

setRequest

public void setRequest(java.util.Map<java.lang.Object,java.lang.Object> request)

[概 要]

リクエスト情報設定。

[詳 細]

リクエスト情報を設定します。
リクエストの設定はモデルの呼び出し元クラスで行うため、モデル内で本メソッドを 利用することはありません。

[備 考]

パラメータ:
request - マップ化されたリクエスト情報

getRequestParameter

public java.lang.Object getRequestParameter(java.lang.Object key)

[概 要]

リクエストパラメータ情報取得。

[詳 細]

指定したキーに該当するリクエストパラメータ情報を取得します。

[備 考]

パラメータ:
key - リクエストパラメータキー
戻り値:
該当するリクエストパラメータ情報、またはnull

getRequestParameter

public <T> T getRequestParameter(java.lang.Object key,
                                 java.lang.Class<T> clazz)

[概 要]

リクエストパラメータ情報取得。

[詳 細]

指定したキーに該当するリクエストパラメータ情報を取得します。

[備 考]

パラメータ:
key - リクエストパラメータキー
clazz - 取得するパラメータ値のクラス
戻り値:
該当するリクエストパラメータ情報、またはnull

getResponse

public java.lang.Object getResponse()

[概 要]

レスポンス情報取得。

[詳 細]

レスポンス情報を取得します。
本メソッドはモデルの呼び出し元でレスポンスの送信処理を行うために利用する もので、モデル内で本メソッドを利用することはありません。

[備 考]

戻り値:
レスポンス情報

setResponse

public void setResponse(java.lang.Object response)

[概 要]

レスポンス情報設定。

[詳 細]

クライアントへ送信するレスポンス情報を設定します。
モデルではクライアントへのレスポンス処理は行わず、モデルの呼び出し元クラスで レスポンス処理を行います。
レスポンスが必要ない場合は本メソッドにてレスポンスを設定する必要はありません。

[備 考]

パラメータ:
response - レスポンス情報

run

public void run()
         throws java.lang.Exception

[概 要]

モデル実行。

[詳 細]

モデルの実行を制御します。

[備 考]

本メソッドは殆どのケースにおいて開発者が実装することはありません。

例外:
java.lang.Exception - モデル実行例外

preProcess

protected boolean preProcess()
                      throws java.lang.Exception

[概 要]

事前処理。

[詳 細]

モデル実行における事前処理を行います。
モデルのメイン処理が実行する前に処理すべき内容を記述できます。 結果としてtrueを返すとメイン処理以降を実行し、falseを返すと事前処理のみでモデルの実行は終了します。

[備 考]

戻り値:
処理結果
例外:
java.lang.Exception - 事前処理時の例外

mainProcess

protected void mainProcess()
                    throws java.lang.Exception

[概 要]

メイン処理。

[詳 細]

モデル実行におけるメイン処理を行います。

[備 考]

例外:
java.lang.Exception - メイン処理時の例外

postProcess

protected void postProcess()
                    throws java.lang.Exception

[概 要]

事後処理。

[詳 細]

モデル実行における事後処理を行います。

[備 考]

事後処理はmainProcess()実行後に行われるもので finalProcess()とは異なります。

例外:
java.lang.Exception - 事後処理時の例外

finalProcess

protected void finalProcess()

[概 要]

最終処理。

[詳 細]

モデル実行における最終処理を行います。

[備 考]

最終処理はモデルの各処理結果には依存せず、最終段階(finally)で必ず呼ばれる処理となります。


trap

protected java.lang.Exception trap(java.lang.Exception e)

[概 要]

例外ハンドリング。

[詳 細]

例外のハンドリングを行います。

[備 考]

本メソッドでは受け取った例外をログへエラーとして出力し、そのまま返すのみとなっています。 その他実装をしたい場合は各実装モデルにて本メソッドを継承して行ってください。

パラメータ:
e - 例外情報
戻り値:
スローする例外情報


Copyright © 2008-2010. All Rights Reserved.