com.github.mygreen.supercsv.builder.GeneralProcessorBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of super-csv-annotation Show documentation
Show all versions of super-csv-annotation Show documentation
CSVのJavaライブラリであるSuperCSVに、アノテーション機能を追加したライブラリです。
package com.github.mygreen.supercsv.builder;
import com.github.mygreen.supercsv.annotation.format.CsvFormat;
import com.github.mygreen.supercsv.cellprocessor.format.TextFormatter;
import com.github.mygreen.supercsv.exception.SuperCsvInvalidAnnotationException;
import com.github.mygreen.supercsv.localization.MessageBuilder;
/**
* 不明なタイプの時の汎用のビルダクラス。
* アノテーション{@link CsvFormat}の指定は必須。
*
* @since 2.0
* @author T.TSUCHIE
*
*/
public class GeneralProcessorBuilder extends AbstractProcessorBuilder {
/**
* {@inheritDoc}
* @throws SuperCsvInvalidAnnotationException 必ず例外をスローする。
*/
@Override
protected TextFormatter getDefaultFormatter(final FieldAccessor field, final Configuration config) {
throw new SuperCsvInvalidAnnotationException(MessageBuilder.create("anno.required")
.var("property", field.getNameWithClass())
.varWithAnno("anno", CsvFormat.class)
.format());
}
}