T
- マッピング対象のBeanのクラスタイプpublic abstract class AbstractCsvAnnotationBeanReader<T> extends AbstractCsvReader
CsvBeanReader
修飾子とタイプ | フィールドと説明 |
---|---|
protected BeanMappingCache<T> |
beanMappingCache
Beanのマッピング情報のキャッシュ。
|
protected MethodCache |
cache
cache of methods for mapping from columns to fields
|
protected List<String> |
errorMessages
processing error messages.
|
protected CsvExceptionConverter |
exceptionConverter
exception converter.
|
protected List<Object> |
processedColumns
temporary storage of processed columns to be mapped to the bean
|
protected List<CsvValidator<T>> |
validators
validator
|
コンストラクタと説明 |
---|
AbstractCsvAnnotationBeanReader(ITokenizer tokenizer,
CsvPreference preference) |
AbstractCsvAnnotationBeanReader(Reader reader,
CsvPreference preference) |
修飾子とタイプ | メソッドと説明 |
---|---|
void |
addValidator(CsvValidator<T>... validators)
レコードの値を検証するValidatorを追加します。
|
protected void |
executeCellProcessor(List<Object> destination,
List<String> source,
CellProcessor[] processors,
CsvContext context)
行の各カラムの値に対して、CellProcessorを適用します。
|
BeanMapping<T> |
getBeanMapping()
Beanのマッピング情報を取得します。
|
String[] |
getDefinedHeader()
Beanクラスを元に作成したヘッダー情報を取得する。
|
List<String> |
getErrorMessages()
エラーメッセージを取得します。
|
CsvExceptionConverter |
getExceptionConverter()
処理中に発生した例外をメッセージに変換するクラスを取得します。
|
List<CsvValidator<T>> |
getValidators()
レコードの値を検証するValidatorを取得します。
|
protected T |
instantiateBean(Class<T> clazz)
指定したBeanのクラスのインスタンスを作成する。
|
Stream<T> |
lines()
Stream を返します。 |
protected void |
populateBean(T resultBean,
String[] nameMapping,
CsvBindingErrors bindingErrors)
Beanの各フィールドに対して値を設定する。
|
protected void |
processErrors(CsvBindingErrors bindingErrors,
CsvContext context,
Optional<SuperCsvRowException> rowException)
行の例外情報をメッセージに変換したりします。
|
T |
read()
1レコード分を読み込みます。
|
CsvReadStatus |
read(CsvSuccessHandler<T> successHandler,
CsvErrorHandler errorHandler)
成功時、例外発生時の処理を指定して、1レコード分を読み込みます。
|
void |
setExceptionConverter(CsvExceptionConverter exceptionConverter)
処理中に発生した例外をメッセージに変換するクラスを設定します。
|
protected void |
validateHeader(String[] sourceHeader,
String[] definedHeader)
CSVのヘッダーの検証を行います。
|
close, executeProcessors, get, getColumns, getHeader, getLineNumber, getPreferences, getRowNumber, getUntokenizedRow, length, readRow
protected BeanMappingCache<T> beanMappingCache
protected final List<Object> processedColumns
protected final MethodCache cache
protected CsvExceptionConverter exceptionConverter
protected final List<CsvValidator<T>> validators
public AbstractCsvAnnotationBeanReader(Reader reader, CsvPreference preference)
public AbstractCsvAnnotationBeanReader(ITokenizer tokenizer, CsvPreference preference)
public T read() throws IOException
IOException
- レコードの読み込みに失敗した場合。SuperCsvNoMatchColumnSizeException
- レコードのカラムサイズに問題がある場合SuperCsvBindingException
- セルの値に問題がある場合SuperCsvException
- 設定など、その他に問題がある場合public CsvReadStatus read(CsvSuccessHandler<T> successHandler, CsvErrorHandler errorHandler) throws IOException
successHandler
- 読み込み成功時の処理の実装。errorHandler
- CSVに関する例外発生時の処理の実装。IOException
- 致命的なレコードの読み込みに失敗した場合にスローされます。public Stream<T> lines()
Stream
を返します。要素はCSVの行をBeanにマッピングしたオブジェクトです。
読み込む際には例外 SuperCsvException
/ UncheckedIOException
が発生する可能性があります(読み込みを行った Stream
メソッドからスローされます)。
読み込み時にスローされた IOException
は、UncheckedIOException
にラップされます。
Stream
を返します。protected void validateHeader(String[] sourceHeader, String[] definedHeader)
sourceHeader
- オリジナルのヘッダー情報。definedHeader
- アノテーションなどの定義を元にしたヘッダー情報SuperCsvNoMatchColumnSizeException
- ヘッダーのサイズ(カラム数)がBean定義と一致しない場合。SuperCsvNoMatchHeaderException
- ヘッダーの値がBean定義と一致しない場合。protected void processErrors(CsvBindingErrors bindingErrors, CsvContext context, Optional<SuperCsvRowException> rowException)
bindingErrors
- context
- rowException
- protected T instantiateBean(Class<T> clazz)
clazz
- Beanのクラスタイプ。SuperCsvReflectionException
- Beanのインスタンスの作成に失敗した場合。protected void executeCellProcessor(List<Object> destination, List<String> source, CellProcessor[] processors, CsvContext context)
destination
- source
- processors
- context
- SuperCsvNoMatchColumnSizeException
- カラムサイズが定義と一致しない場合SuperCsvRowException
- CellProcessor内で発生した例外protected void populateBean(T resultBean, String[] nameMapping, CsvBindingErrors bindingErrors)
resultBean
- nameMapping
- bindingErrors
- public String[] getDefinedHeader()
public BeanMapping<T> getBeanMapping()
public CsvExceptionConverter getExceptionConverter()
public void setExceptionConverter(CsvExceptionConverter exceptionConverter)
exceptionConverter
- 独自にカスタマイズした値を設定します。public void addValidator(CsvValidator<T>... validators)
validators
- CsvValidator
の実装クラスを設定します。public List<CsvValidator<T>> getValidators()
CsvValidator
の実装クラスを設定します。Copyright © 2022 mygreen. All rights reserved.