package com.github.mygreen.supercsv.builder.spring; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Repeatable; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import com.github.mygreen.supercsv.annotation.constraint.CsvConstraint; /** * * * @since 2.0 * @author T.TSUCHIE * */ @Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Repeatable(CsvUserNameExist.List.class) @CsvConstraint(UserNameExistFactory.class) public @interface CsvUserNameExist { String message() default "{com.github.mygreen.supercsv.builder.spring.CsvUserNameExist.message}"; Class<?>[] groups() default {}; /** * アノテーションの処理順序の定義。 * @return 値が大きいほど後に実行されます。 * 値が同じ場合は、アノテーションのクラス名の昇順になります。 */ int order() default 0; @Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @interface List { CsvUserNameExist[] value(); } }