Package nablarch.core.dataformat
Interface DataRecordFormatter
- All Superinterfaces:
AutoCloseable
,Closeable
- All Known Implementing Classes:
DataRecordFormatterSupport
,FixedLengthDataRecordFormatter
,JsonDataRecordFormatter
,StructuredDataRecordFormatterSupport
,VariableLengthDataRecordFormatter
,XmlDataRecordFormatter
データファイルとJavaオブジェクトのシリアライズ/デシリアライズを行うクラスが実装するインタフェース。
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
内部的に保持している各種リソースを開放する。int
読み込みまたは書き込み中のレコードのレコード番号を返却する。boolean
hasNext()
次に読み込む行の有無を判定する。初期化処理を行う。入力ストリームから1レコード分のデータを読み込み、データレコードを返却する。 入力ストリームが既に終端に達していた場合はnull
を返却する。setDefinition
(LayoutDefinition definition) フォーマット定義ファイルの情報を保持するクラスを設定する。setInputStream
(InputStream stream) 入力ストリームを設定する。setOutputStream
(OutputStream stream) 出力ストリームを設定する。void
writeRecord
(String recordType, Map<String, ?> record) 指定したデータレイアウト(レコードタイプ)で、出力ストリームに1レコード分の内容を書き込む。void
writeRecord
(Map<String, ?> record) 出力ストリームに1レコード分の内容を書き込む。
-
Method Details
-
readRecord
入力ストリームから1レコード分のデータを読み込み、データレコードを返却する。 入力ストリームが既に終端に達していた場合はnull
を返却する。- Returns:
- データレコード
- Throws:
IOException
- 入力ストリームの読み込みに失敗した場合InvalidDataFormatException
- 読み込んだデータがフォーマット定義に違反している場合
-
writeRecord
出力ストリームに1レコード分の内容を書き込む。 出力時に使用するデータレイアウト(レコードタイプ)は、Map
の内容をもとに自動的に判定される。 引数がDataRecord
型かつレコードタイプが指定されている場合、 フォーマット定義ファイルのレコードタイプ識別フィールド定義よりも、指定されたレコードタイプを優先して書き込みを行う。- Parameters:
record
- 出力するレコードの内容を格納したMap- Throws:
IOException
- 出力ストリームの書き込みに失敗した場合InvalidDataFormatException
- 書き込むデータの内容がフォーマット定義に違反している場合
-
writeRecord
void writeRecord(String recordType, Map<String, ?> record) throws IOException, InvalidDataFormatException指定したデータレイアウト(レコードタイプ)で、出力ストリームに1レコード分の内容を書き込む。- Parameters:
recordType
- レコードタイプrecord
- 出力するレコードの内容を格納したMap- Throws:
IOException
- 出力ストリームの書き込みに失敗した場合InvalidDataFormatException
- 書き込むデータの内容がフォーマット定義に違反している場合
-
initialize
DataRecordFormatter initialize()初期化処理を行う。- Returns:
- 本クラスのインスタンス
-
setInputStream
入力ストリームを設定する。- Parameters:
stream
- 入力ストリーム- Returns:
- 本クラスのインスタンス
-
close
void close()内部的に保持している各種リソースを開放する。- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
setDefinition
フォーマット定義ファイルの情報を保持するクラスを設定する。- Parameters:
definition
- フォーマット定義ファイルの定義情報- Returns:
- 本クラスのインスタンス
-
setOutputStream
出力ストリームを設定する。- Parameters:
stream
- 出力ストリーム- Returns:
- 本クラスのインスタンス
-
hasNext
次に読み込む行の有無を判定する。- Returns:
- 次に読み込む行がある場合
true
- Throws:
IOException
- 入力ストリームの読み込みに失敗した場合
-
getRecordNumber
int getRecordNumber()読み込みまたは書き込み中のレコードのレコード番号を返却する。- Returns:
- レコード番号
-