public class FwHeaderReader extends java.lang.Object implements DataReader<RequestMessage>
MessageReader
が読み込んだ受信電文のメッセージボディから
フレームワーク制御ヘッダ部分を読み込み、後続のハンドラからそれらの値を参照可能とする。RequestMessage
は、フレームワーク制御ヘッダに
対するアクセサを保持し、Request
インターフェースを実装する。
受信電文読み込み時にエラーが発生した場合は、必ず例外(MessageReadError
)を送出する。
この場合、業務処理へのディスパッチは発生せず、フレームワークが直接エラー応答を行うことになる。DataReader.NoMoreRecord
Constructor and Description |
---|
FwHeaderReader() |
Modifier and Type | Method and Description |
---|---|
void |
close(ExecutionContext ctx)
このリーダの利用を停止し、内部的に保持している各種リソースを解放する。
|
boolean |
hasNext(ExecutionContext ctx)
次に読み込むデータが存在するかどうかを返却する。
|
RequestMessage |
read(ExecutionContext ctx)
受信電文のフレームワーク制御ヘッダ部分を読み込む。
MessageReader で取得した受信電文オブジェクトの
フレームワーク制御項目を読み込み、下記項目をスレッドコンテキストに設定する。
リクエストID
内部リクエストID
ユーザID(フレームワーク制御項目に設定されている場合のみ)
また、受信電文の業務データ部の読み込みと応答電文の業務データ部生成に使用する
フォーマッタを決定し、要求電文オブジェクトに設定する。 |
FwHeaderReader |
setFormatFileDir(java.lang.String dirName)
業務データ部のフォーマット定義ファイルの配置先ディレクトリ論理名を設定する。
デフォルト値は"format"。
|
FwHeaderReader |
setFwHeaderDefinition(FwHeaderDefinition def)
フレームワーク制御ヘッダ定義を設定する。
|
FwHeaderReader |
setMessageFormatFileNamePattern(java.lang.String pattern)
受信電文のフォーマット定義ファイル名のパターン文字列を設定する。
デフォルトの設定では、以下の名称のフォーマット定義ファイルを取得する。
|
FwHeaderReader |
setMessageReader(DataReader<ReceivedMessage> messageReader)
受信電文を読み込むリーダを設定する。
|
FwHeaderReader |
setReplyMessageFormatFileNamePattern(java.lang.String pattern)
応答電文のフォーマット定義ファイル名のパターン文字列を設定する。
デフォルトの設定では、以下の名称のフォーマット定義ファイルを取得する。
|
public RequestMessage read(ExecutionContext ctx)
MessageReader
で取得した受信電文オブジェクトの
フレームワーク制御項目を読み込み、下記項目をスレッドコンテキストに設定する。
read
in interface DataReader<RequestMessage>
ctx
- 実行コンテキストnull
の場合はnull
を返す)MessageReadError
- フレームワーク制御ヘッダのパースに失敗した場合public boolean hasNext(ExecutionContext ctx)
hasNext
in interface DataReader<RequestMessage>
ctx
- 実行コンテキストtrue
public void close(ExecutionContext ctx)
close
in interface DataReader<RequestMessage>
ctx
- public FwHeaderReader setMessageReader(DataReader<ReceivedMessage> messageReader)
messageReader
- データリーダjava.lang.IllegalArgumentException
- データリーダがnull
の場合public FwHeaderReader setFwHeaderDefinition(FwHeaderDefinition def)
def
- フレームワーク制御ヘッダ設定java.lang.IllegalArgumentException
- フレームワーク制御ヘッダ設定がnull
の場合public FwHeaderReader setFormatFileDir(java.lang.String dirName)
dirName
- フォーマット定義ファイルの配置先ディレクトリ論理名java.lang.IllegalArgumentException
- 配置先ディレクトリ論理名が無効な場合public FwHeaderReader setMessageFormatFileNamePattern(java.lang.String pattern)
(リクエストID) + "_RECEIVE.fmt"
pattern
- フォーマット定義ファイル名のパターン文字列java.lang.IllegalArgumentException
- パターン文字列が無効な場合public FwHeaderReader setReplyMessageFormatFileNamePattern(java.lang.String pattern)
(リクエストID) + "_SEND.fmt"
pattern
- フォーマット定義ファイル名のパターン文字列java.lang.IllegalArgumentException
- パターン文字列が無効な場合