@Target(value={FIELD,ANNOTATION_TYPE}) @Retention(value=RUNTIME) @Documented @Repeatable(value=CsvDateTimeMax.List.class) @CsvConstraint(value={}) public @interface CsvDateTimeMax
日時型に指定可能です。
value()
で、上限値としての日時を指定します。
inclusive()
で、値の検証時に属性value()
の値を含むかどうか指定します。
@CsvBean
public class SampleCsv {
// 値は書式に沿った形式で入力します。
@CsvColumn(number=1)
@CsvDateTimeFormat(pattern="yyyy/MM/dd")
@CsvDateTimeMax("2050/12/31")
private LocalDate birthday;
// 比較する際には指定した値より前かどうかで判定します。
@CsvColumn(number=2)
@CsvDateTimeMax(value="9999-12-31 23:59:59.999", inclusive=false)
private Timestamp registerTime;
// getter/setterは省略
}
public abstract String value
public abstract boolean inclusive
true
の場合、日時以前かどうかとして比較します。
false
の場合、値より前かどうかとして比較します。public abstract String message
{key}の書式の場合、プロパティファイルから取得した値を指定できます。
使用可能なメッセージ中の変数は下記の通りです。
value()
をフィールドの型に変換した値です。inclusive()
の値です。TextPrinter.print(Object)
でvalidatedValue, maxの値を文字列に変換します。CellProcessor
に基づいたメッセージが出力されます。public abstract BuildCase[] cases
public abstract Class<?>[] groups
処理ごとに適用するアノテーションを切り替えたい場合に指定します。
DefaultGroup
が適用され全ての処理に適用されます。Copyright © 2022 mygreen. All rights reserved.