public class ValidatableFileDataReader extends FileDataReader
ValidatableFileDataReader.FileValidatorAction
に実装されたバリデーションロジックを
setValidatorAction(FileValidatorAction)
から設定することができる。
バリデーションが正常終了した場合は、入力ファイルを開きなおして本処理を行う。setUseCache(boolean)
にtrue
を設定することで、バリデーション時に読み込んだデータを
メモリ上にキャッシュし、都度2回の読み込みを1回に削減することができる。修飾子とタイプ | クラスと説明 |
---|---|
static interface |
ValidatableFileDataReader.FileValidatorAction
バリデーションを行うオブジェクトが実装するインタフェース。
|
DataReader.NoMoreRecord
コンストラクタと説明 |
---|
ValidatableFileDataReader()
ValidatableFileDataReader オブジェクトを生成する。 |
修飾子とタイプ | メソッドと説明 |
---|---|
void |
close(ExecutionContext ctx)
このリーダの利用を停止し、内部的に保持している各種リソースを解放する。
|
boolean |
hasNext(ExecutionContext ctx)
次に読み込むデータが存在するかどうかを返却する。
|
protected void |
initialize()
キャッシュを使用しない場合、ファイルリーダを初期化する。
|
DataRecord |
read(ExecutionContext ctx)
データファイルを1レコードづつ読み込む。
|
ValidatableFileDataReader |
setUseCache(boolean useCache)
バリデーション時に読み込んだデータをキャッシュし、本処理で使用するかどうかを設定する。
|
ValidatableFileDataReader |
setValidatorAction(ValidatableFileDataReader.FileValidatorAction validatorAction)
バリデーション処理を実装したアクションクラスを設定する。
|
protected void |
validate(ExecutionContext ctx)
バリデーションを行う。
|
createFileRecordReader, getFileReader, setBufferSize, setDataFile, setDataFile, setFileReader, setLayoutFile, setLayoutFile
@Published(tag="architect") public ValidatableFileDataReader()
ValidatableFileDataReader
オブジェクトを生成する。public DataRecord read(ExecutionContext ctx)
null
を返す。
データをキャッシュしている場合、キャッシュからデータを読み込み返却する。read
インタフェース内 DataReader<DataRecord>
read
クラス内 FileDataReader
ctx
- 実行コンテキストpublic boolean hasNext(ExecutionContext ctx)
hasNext
インタフェース内 DataReader<DataRecord>
hasNext
クラス内 FileDataReader
ctx
- 実行コンテキストtrue
public void close(ExecutionContext ctx)
close
インタフェース内 DataReader<DataRecord>
close
クラス内 FileDataReader
ctx
- 実行コンテキストprotected void validate(ExecutionContext ctx)
FileDataReader
を初期化する。ctx
- 実行コンテキストjava.lang.IllegalStateException
- バリデーション処理を実装したオブジェクトがnull
の場合java.lang.RuntimeException
- 実行時例外が発生した場合java.lang.Error
- エラーが発生した場合protected void initialize()
@Published(tag="architect") public ValidatableFileDataReader setUseCache(boolean useCache)
useCache
- キャッシュを有効化する場合はtrue
@Published(tag="architect") public ValidatableFileDataReader setValidatorAction(ValidatableFileDataReader.FileValidatorAction validatorAction)
validatorAction
- バリデーションを実装したアクションクラスjava.lang.IllegalArgumentException
- バリデーションを実装したアクションクラスがnull
の場合