Class StandardFwHeaderDefinition

java.lang.Object
nablarch.fw.messaging.StandardFwHeaderDefinition
All Implemented Interfaces:
FwHeaderDefinition

public class StandardFwHeaderDefinition extends Object implements FwHeaderDefinition
Nablarch標準のフレームワーク制御ヘッダ定義。 本実装では、各電文のメッセージボディの先頭レコード上に 全てのフレームワーク制御ヘッダが定義されていることを前提としており、 JMSヘッダー等のメッセージングプロバイダ実装に依存する項目は使用しない。

以下は本クラスで使用できるフレームワーク制御ヘッダの定義例である。 このデータレコードが電文の先頭に位置している必要がある。

 #====================================================================
 # フレームワーク制御ヘッダ部 (50byte)
 #====================================================================
 [NablarchHeader]
 1   requestId   X(10)       # リクエストID
 11  userId      X(10)       # ユーザID
 21  resendFlag  X(1)  "0"   # 再送要求フラグ (0: 初回送信 1: 再送要求)
 22  statusCode  X(4)  "200" # ステータスコード
 26 ?filler      X(25)       # 予備領域
 #====================================================================
 
フォーマット定義にフレームワーク制御ヘッダ以外の項目を含めた場合、 FwHeaderクラスの任意属性としてアクセスすることができる。 これらの属性は、PJ毎にフレームワーク制御ヘッダを簡易的に拡張する場合に 利用することができる。

なお、将来的な任意項目の追加およびフレームワークの機能追加に伴うヘッダ追加 に対応するために、予備領域を設けておくことを強く推奨する。

Author:
Iwauo Tajima
  • Constructor Details

    • StandardFwHeaderDefinition

      public StandardFwHeaderDefinition()
  • Method Details

    • readFwHeaderFrom

      public RequestMessage readFwHeaderFrom(ReceivedMessage message)
      受信電文中のフレームワーク制御ヘッダ部を読み込み、 RequestMessageオブジェクトを生成する。 この実装ではメッセージボディの先頭レコードを取得し、 フレームワーク制御ヘッダの各項目を読み込む。
      Specified by:
      readFwHeaderFrom in interface FwHeaderDefinition
      Parameters:
      message - 受信電文オブジェクト
      Returns:
      要求電文オブジェクト
    • writeFwHeaderTo

      public void writeFwHeaderTo(SendingMessage message, FwHeader header)
      応答電文オブジェクトに設定されたフレームワーク制御ヘッダの内容を 送信電文に反映する。 この実装では、メッセージボディ部のバイト列の先頭にフレームワーク制御ヘッダ のバイト列を連結する。
      Specified by:
      writeFwHeaderTo in interface FwHeaderDefinition
      Parameters:
      message - 応答電文オブジェクト
      header - フレームワーク制御ヘッダー
    • setFormatFileDir

      public StandardFwHeaderDefinition setFormatFileDir(String dirName)
      フレームワーク制御ヘッダーのフォーマット定義ファイルが配置されている ディレクトリの論理名を設定する。 設定を省略した場合のデフォルト値は"format"である。
      Parameters:
      dirName - フォーマット定義ファイル配置ディレクトリの論理名
      Returns:
      このオブジェクト自体
    • setFormatFileName

      public StandardFwHeaderDefinition setFormatFileName(String fileName)
      フレームワーク制御ヘッダーのフォーマット定義ファイルのファイル名 を設定する。 設定を省略した場合のデフォルト値は"header.fmt"となる。
      Parameters:
      fileName - フォーマット定義ファイル名
      Returns:
      このオブジェクト自体
    • getFormatter

      public DataRecordFormatter getFormatter()
      フレームワーク制御ヘッダーのフォーマット定義を返す。
      Returns:
      フレームワーク制御ヘッダーのフォーマット定義
    • getFormatter

      public DataRecordFormatter getFormatter(FilePathSetting filePathSetting, FormatterFactory formatterFactory)
      指定されたFilePathSettingインスタンスを使用して フレームワーク制御ヘッダーのフォーマット定義を返す。
      Parameters:
      filePathSetting - フォーマット定義ファイルを取得するためのFilePathSetting
      formatterFactory - フォーマット定義を生成するファクトリ
      Returns:
      フレームワーク制御ヘッダーのフォーマット定義
    • setResendFlagOffValue

      public StandardFwHeaderDefinition setResendFlagOffValue(Object value)
      初回電文時に設定される再送要求フラグの値を設定する。
      Parameters:
      value - 初回電文時に設定される再送要求フラグの値
      Returns:
      このオブジェクト自体
    • getResendFlagOffValue

      public Object getResendFlagOffValue()
      初回電文時に設定される再送要求フラグの値を返す。
      Returns:
      初回電文時に設定される再送要求フラグの値