@Target(value={FIELD,ANNOTATION_TYPE}) @Retention(value=RUNTIME) @Documented @Repeatable(value=CsvNumberMax.List.class) @CsvConstraint(value={}) public @interface CsvNumberMax
数値型に指定可能です。
value()
で、最大値を指定します。
inclusive()
で、値の検証時に属性value()
の値を含むかどうか指定します。
@CsvBean
public class SampleCsv {
@CsvColumn(number=1)
@CsvNumberMax("1000")
private long id;
// 値は書式に沿った形式で入力します。
@CsvColumn(number=2)
@CsvNumberFormat(pattern="#,##0")
@CsvNumberMax("1,000,000,000")
private Integer salary;
// 比較する際には指定した値より小さいかどうかで判定します。
@CsvColumn(number=3)
@CsvNumberMax(value="100.0", inclusive=false)
private Double rate;
// 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.