Class CsvValidateCommand
java.lang.Object
com.streamconverter.command.AbstractStreamCommand
com.streamconverter.command.ConsumerCommand
com.streamconverter.command.impl.csv.CsvValidateCommand
- All Implemented Interfaces:
IStreamCommand
CSVデータのバリデーションを行うコマンドクラス
CSVデータの構造とデータ妥当性を検証します。以下の項目をチェックします:
- 必須カラムの存在
- ヘッダー行の妥当性
- データ行の整合性
- 重複ヘッダーの検出
使用例:
String[] requiredColumns = {"id", "name", "email"};
CsvValidateCommand validator = new CsvValidateCommand(requiredColumns);
validator.consume(csvInputStream);
-
Field Summary
Fields inherited from class com.streamconverter.command.AbstractStreamCommand
log -
Constructor Summary
ConstructorsConstructorDescriptionCsvValidateCommand(boolean hasHeader, int maxErrorsToReport, String... requiredColumns) 詳細設定を指定するコンストラクタCsvValidateCommand(String... requiredColumns) 必須カラムを指定するコンストラクタ(ヘッダー行ありと仮定) -
Method Summary
Modifier and TypeMethodDescriptionvoidconsume(InputStream inputStream) CSVバリデーションを実行しますint最大エラー報告数を取得必須カラムを取得booleanヘッダー行の存在フラグを取得Methods inherited from class com.streamconverter.command.ConsumerCommand
executeInternalMethods inherited from class com.streamconverter.command.AbstractStreamCommand
execute, execute, getCommandDetails
-
Constructor Details
-
CsvValidateCommand
必須カラムを指定するコンストラクタ(ヘッダー行ありと仮定)- Parameters:
requiredColumns- 必須カラム名の配列- Throws:
IllegalArgumentException- 必須カラムがnullの場合
-
CsvValidateCommand
詳細設定を指定するコンストラクタ- Parameters:
hasHeader- ヘッダー行の存在フラグmaxErrorsToReport- 報告する最大エラー数requiredColumns- 必須カラム名の配列- Throws:
IllegalArgumentException- requiredColumnsがnullの場合
-
-
Method Details
-
consume
CSVバリデーションを実行します- Specified by:
consumein classConsumerCommand- Parameters:
inputStream- 検証対象のCSVデータを含む入力ストリーム- Throws:
IOException- I/Oエラーが発生した場合StreamProcessingException- CSVバリデーションエラーが発生した場合
-
getRequiredColumns
必須カラムを取得- Returns:
- 必須カラムのセット
-
hasHeaderRow
ヘッダー行の存在フラグを取得- Returns:
- ヘッダー行ありの場合true
-
getMaxErrorsToReport
最大エラー報告数を取得- Returns:
- 最大エラー報告数
-