@Target(value={FIELD,ANNOTATION_TYPE}) @Retention(value=RUNTIME) @Documented @Repeatable(value=CsvPattern.List.class) @CsvConstraint(value={}) public @interface CsvPattern
文字列型に指定可能です。
regex()
で、正規表現を指定します。
Pattern
で解釈可能な値を指定する必要があります。。
flags()
で、正規表現をコンパイルする際のフラグを列挙型PatternFlag
で指定します。
@CsvBean
public class SampleCsv {
@CsvColumn(number=1)
@CsvPattern(regex="([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})")
private LocalDate date;
// コンパイル用のフラグを指定する場合
@CsvColumn(number=2)
@CsvPattern(regex="^comment(.+)", flags={PatternFlag.CASE_INSENSITIVE})
private String comment;
// getter/setterは省略
}
public abstract PatternFlag[] flags
PatternFlag
で指定します。public abstract String description
public abstract String message
{key}の書式の場合、プロパティファイルから取得した値を指定できます。
使用可能なメッセージ中の変数は下記の通りです。
regex()
の値です。flags()
の値をint型に変換した値です。description()
の値です。CellProcessor
に基づいたメッセージが出力されます。public abstract BuildCase[] cases
public abstract Class<?>[] groups
処理ごとに適用するアノテーションを切り替えたい場合に指定します。
DefaultGroup
が適用され全ての処理に適用されます。Copyright © 2022 mygreen. All rights reserved.