Package nablarch.fw.messaging.reader
Class FwHeaderReader
java.lang.Object
nablarch.fw.messaging.reader.FwHeaderReader
- All Implemented Interfaces:
DataReader<RequestMessage>
受信電文のフレームワーク制御ヘッダの解析を行うデータリーダ。
このデータリーダの戻り値の型である
MessageReaderが読み込んだ受信電文のメッセージボディから
フレームワーク制御ヘッダ部分を読み込み、後続のハンドラからそれらの値を参照可能とする。このデータリーダの戻り値の型である
RequestMessageは、フレームワーク制御ヘッダに
対するアクセサを保持し、Requestインターフェースを実装する。
受信電文読み込み時にエラーが発生した場合は、必ず例外(MessageReadError)を送出する。
この場合、業務処理へのディスパッチは発生せず、フレームワークが直接エラー応答を行うことになる。- Author:
- Iwauo Tajima
-
Nested Class Summary
Nested classes/interfaces inherited from interface nablarch.fw.DataReader
DataReader.NoMoreRecord -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose(ExecutionContext ctx) このリーダの利用を停止し、内部的に保持している各種リソースを解放する。booleanhasNext(ExecutionContext ctx) 次に読み込むデータが存在するかどうかを返却する。read(ExecutionContext ctx) 受信電文のフレームワーク制御ヘッダ部分を読み込む。setFormatFileDir(String dirName) 業務データ部のフォーマット定義ファイルの配置先ディレクトリ論理名を設定する。フレームワーク制御ヘッダ定義を設定する。setMessageFormatFileNamePattern(String pattern) 受信電文のフォーマット定義ファイル名のパターン文字列を設定する。setMessageReader(DataReader<ReceivedMessage> messageReader) 受信電文を読み込むリーダを設定する。応答電文のフォーマット定義ファイル名のパターン文字列を設定する。
-
Constructor Details
-
FwHeaderReader
public FwHeaderReader()
-
-
Method Details
-
read
受信電文のフレームワーク制御ヘッダ部分を読み込む。MessageReaderで取得した受信電文オブジェクトの フレームワーク制御項目を読み込み、下記項目をスレッドコンテキストに設定する。- リクエストID
- 内部リクエストID
- ユーザID(フレームワーク制御項目に設定されている場合のみ)
- Specified by:
readin interfaceDataReader<RequestMessage>- Parameters:
ctx- 実行コンテキスト- Returns:
- 要求電文オブジェクト(受信電文オブジェクトが
nullの場合はnullを返す) - Throws:
MessageReadError- フレームワーク制御ヘッダのパースに失敗した場合
-
hasNext
次に読み込むデータが存在するかどうかを返却する。- Specified by:
hasNextin interfaceDataReader<RequestMessage>- Parameters:
ctx- 実行コンテキスト- Returns:
- 次に読み込むデータが存在する場合は
true
-
close
このリーダの利用を停止し、内部的に保持している各種リソースを解放する。- Specified by:
closein interfaceDataReader<RequestMessage>- Parameters:
ctx-
-
setMessageReader
受信電文を読み込むリーダを設定する。- Parameters:
messageReader- データリーダ- Returns:
- このオブジェクト自体
- Throws:
IllegalArgumentException- データリーダがnullの場合
-
setFwHeaderDefinition
フレームワーク制御ヘッダ定義を設定する。- Parameters:
def- フレームワーク制御ヘッダ設定- Returns:
- このオブジェクト自体
- Throws:
IllegalArgumentException- フレームワーク制御ヘッダ設定がnullの場合
-
setFormatFileDir
業務データ部のフォーマット定義ファイルの配置先ディレクトリ論理名を設定する。 デフォルト値は"format"。- Parameters:
dirName- フォーマット定義ファイルの配置先ディレクトリ論理名- Returns:
- このオブジェクト自体
- Throws:
IllegalArgumentException- 配置先ディレクトリ論理名が無効な場合
-
setMessageFormatFileNamePattern
受信電文のフォーマット定義ファイル名のパターン文字列を設定する。 デフォルトの設定では、以下の名称のフォーマット定義ファイルを取得する。(リクエストID) + "_RECEIVE.fmt"
- Parameters:
pattern- フォーマット定義ファイル名のパターン文字列- Returns:
- このオブジェクト自体
- Throws:
IllegalArgumentException- パターン文字列が無効な場合
-
setReplyMessageFormatFileNamePattern
応答電文のフォーマット定義ファイル名のパターン文字列を設定する。 デフォルトの設定では、以下の名称のフォーマット定義ファイルを取得する。(リクエストID) + "_SEND.fmt"
- Parameters:
pattern- フォーマット定義ファイル名のパターン文字列- Returns:
- このオブジェクト自体
- Throws:
IllegalArgumentException- パターン文字列が無効な場合
-