@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 © 2025 mygreen. All rights reserved.