@Target(value=ANNOTATION_TYPE) @Retention(value=RUNTIME) @Documented public @interface CsvConversion
変換のアノテーションには必ず付与します。
ElementType.FIELD
とElementType.ANNOTATION_TYPE
の2つを指定します。
ElementType.ANNOTATION_TYPE
を追加しておきます。
value()
で、ConversionProcessorFactory
の実装クラスを指定します。
// 独自の値の検証用のアノテーション
@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Repeatable(CsvCustomConversion.List.class)
@CsvConstraint(CustomConversionFactory.class) // ファクトリクラスを指定
public @interface CsvCustomConversion {
// 固有の属性 - 必要であれば定義します。
String text();
// 共通の属性 - ケース
BuildCase[] cases() default {};
// 共通の属性 - グループ
Class<?>[] groups() default {};
// 共通の属性 - 並び順
int order() default 0;
// 繰り返しのアノテーションの格納用アノテーションの定義
@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@interface List {
CsvCustomConversion[] value();
}
}
修飾子とタイプ | 必須要素と説明 |
---|---|
Class<? extends ConversionProcessorFactory<?>>[] |
value
アノテーションに対応したCellProcessorを作成するファクトリクラスを指定します。
|
public abstract Class<? extends ConversionProcessorFactory<?>>[] value
省略した場合、AbstractProcessorBuilder.registerForConversion(Class, ConversionProcessorFactory)
で手動で登録する必要があります。
ConversionProcessorFactory
を実装したクラスを指定します。Copyright © 2022 mygreen. All rights reserved.