Class ResponseMessage

All Implemented Interfaces:
Result
Direct Known Subclasses:
StructuredResponseMessage

public class ResponseMessage extends SendingMessage implements Result
本システムに対する要求電文への応答電文を表すクラス。 本クラスでは、RequestMessageと同様、応答電文の内容をフレームワークヘッダ部と 業務データ部に分離して管理しており、業務ロジックからは業務データ部しか操作できない ようになっている。 メッセージボディを直列化する際には、フレームワークヘッダ部と業務データ部をそれぞれ 直列化して連結したものを返す。
Author:
Iwauo Tajima
  • Constructor Details

    • ResponseMessage

      public ResponseMessage(FwHeader fwHeader, ReceivedMessage message)
      受信電文に対する応答電文を作成する。
      Parameters:
      fwHeader - 応答電文に付加するフレームワーク制御ヘッダ
      message - 受信電文
    • ResponseMessage

      @Published(tag="architect") public ResponseMessage(RequestMessage message)
      要求電文に対する応答電文を作成する。 RequestMessage#reply() から呼ばれることを想定している。
      Parameters:
      message - 要求電文オブジェクト
  • Method Details

    • getBodyBytes

      public byte[] getBodyBytes()
      メッセーボディのバイナリ表現を返す。 送信(仕向)電文の場合はデータレコードをレコードフォーマッタで直列化したものを返す。 受信(被仕向)電文の場合はパース前の送信電文の内容をそのまま返す。 この実装では、フレームワーク制御ヘッダ部と業務データ部をそれぞれ直列化し、 連結したものを返す。 ただし、フレームワーク制御ヘッダを直列化する際、フレームワーク制御ヘッダ定義 を使用する。これは、通常MessageReplyHandlerによって設定される。
      Overrides:
      getBodyBytes in class SendingMessage
      Returns:
      メッセーボディのバイナリ表現
    • throwAsError

      public void throwAsError(Throwable e)
      実行時例外を送出し、現在の業務トランザクションをロールバックさせ、 この電文の内容をエラー応答として送信する。
      Parameters:
      e - 起因となる例外
    • throwAsError

      public void throwAsError()
      実行時例外を送出し、現在の業務トランザクションをロールバックさせ、 この電文の内容をエラー応答として送信する。
    • getStatusCode

      public int getStatusCode()
      ステータスコードを返す。
      Specified by:
      getStatusCode in interface Result
      Returns:
      ステータスコード
    • getMessage

      public String getMessage()
      処理結果に関する詳細情報を返す。
      Specified by:
      getMessage in interface Result
      Returns:
      詳細情報
    • isSuccess

      public boolean isSuccess()
      処理が正常終了したかどうかを返す。
      Specified by:
      isSuccess in interface Result
      Returns:
      正常終了した場合はtrue
    • setResult

      public ResponseMessage setResult(Result result)
      業務処理の結果を設定する。
      Parameters:
      result - 業務処理結果
      Returns:
      このオブジェクト自体
    • getFwHeader

      public FwHeader getFwHeader()
      フレームワーク制御ヘッダを取得する。
      Returns:
      フレームワーク制御ヘッダ
    • setFwHeaderDefinition

      @Published(tag="architect") public ResponseMessage setFwHeaderDefinition(FwHeaderDefinition def)
      フレームワークヘッダ定義を設定する。
      Parameters:
      def - フレームワーク制御ヘッダ
      Returns:
      このオブジェクト自体
    • setStatusCodeHeader

      @Published(tag="architect") public ResponseMessage setStatusCodeHeader(String statusCode)
      フレームワーク制御ヘッダの処理結果コードの値を設定する。
      Parameters:
      statusCode - 処理結果コード
      Returns:
      このオブジェクト自体
    • addRecord

      @Published(tag="architect") public ResponseMessage addRecord(Map<String,?> record)
      電文のデータ部に、指定したレコードを追加する。

      出力時に使用するデータレイアウト(レコードタイプ)は、recordの内容から自動的に判別される。

      Overrides:
      addRecord in class SendingMessage
      Parameters:
      record - レコード内容
      Returns:
      このオブジェクト自体
    • addRecord

      @Published(tag="architect") public ResponseMessage addRecord(String recordType, Map<String,?> record)
      電文のデータ部に、出力時に使用するデータレイアウト(レコードタイプ)を指定してレコードを追加する。

      recordTypenullを渡した場合、SendingMessage.addRecord(Map)と同様の処理を行う。

      Overrides:
      addRecord in class SendingMessage
      Parameters:
      recordType - レコードタイプ
      record - レコード内容
      Returns:
      このオブジェクト自体
    • addRecord

      @Published(tag="architect") public ResponseMessage addRecord(Object recordObj)
      電文のデータ部に指定したレコードを追加する。

      出力時に使用するデータレイアウト(レコードタイプ)は、渡されたデータの内容から自動的に判別される。

      Overrides:
      addRecord in class SendingMessage
      Parameters:
      recordObj - レコード内容を表現したオブジェクト
      Returns:
      このオブジェクト自体
    • addRecord

      @Published(tag="architect") public ResponseMessage addRecord(String recordType, Object recordObj)
      電文のデータ部に、出力時に使用するデータレイアウト(レコードタイプ)を指定してレコードを追加する。

      recordTypenullを渡した場合、SendingMessage.addRecord(Object)と同様の処理を行う。

      Overrides:
      addRecord in class SendingMessage
      Parameters:
      recordType - レコードタイプ
      recordObj - レコード内容を表現したオブジェクト
      Returns:
      このオブジェクト自体