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);
-
Constructor Summary
ConstructorsConstructorDescriptionCsvValidateCommand
(boolean hasHeader, int maxErrorsToReport, String... requiredColumns) 詳細設定を指定するコンストラクタCsvValidateCommand
(String... requiredColumns) 必須カラムを指定するコンストラクタ(ヘッダー行ありと仮定) -
Method Summary
Modifier and TypeMethodDescriptionvoid
consume
(InputStream inputStream) CSVバリデーションを実行しますint
最大エラー報告数を取得必須カラムを取得boolean
ヘッダー行の存在フラグを取得Methods inherited from class com.streamconverter.command.ConsumerCommand
executeInternal
Methods inherited from class com.streamconverter.command.AbstractStreamCommand
execute, getCommandDetails
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.streamconverter.command.IStreamCommand
execute
-
Constructor Details
-
CsvValidateCommand
必須カラムを指定するコンストラクタ(ヘッダー行ありと仮定)- Parameters:
requiredColumns
- 必須カラム名の配列- Throws:
IllegalArgumentException
- 必須カラムがnullの場合
-
CsvValidateCommand
詳細設定を指定するコンストラクタ- Parameters:
hasHeader
- ヘッダー行の存在フラグmaxErrorsToReport
- 報告する最大エラー数requiredColumns
- 必須カラム名の配列- Throws:
IllegalArgumentException
- requiredColumnsがnullの場合
-
-
Method Details
-
consume
CSVバリデーションを実行します- Specified by:
consume
in classConsumerCommand
- Parameters:
inputStream
- 検証対象のCSVデータを含む入力ストリーム- Throws:
IOException
- I/Oエラーが発生した場合StreamProcessingException
- CSVバリデーションエラーが発生した場合
-
getRequiredColumns
必須カラムを取得- Returns:
- 必須カラムのセット
-
hasHeaderRow
ヘッダー行の存在フラグを取得- Returns:
- ヘッダー行ありの場合true
-
getMaxErrorsToReport
最大エラー報告数を取得- Returns:
- 最大エラー報告数
-