@Target(value={FIELD,ANNOTATION_TYPE}) @Retention(value=RUNTIME) @Documented @Repeatable(value=CsvNumberRange.List.class) @CsvConstraint(value={}) public @interface CsvNumberRange
数値型に指定可能です。
min()
で、下限値を指定します。
max()
で、上限値を指定します。
inclusive()
で、値の検証時に属性min()
とmin()
の値を含むかどうか指定します。
@CsvBean
public class SampleCsv {
@CsvColumn(number=1)
@CsvNumberRange(min="0", max="1000")
private long id;
// 値は書式に沿った形式で入力します。
@CsvColumn(number=2)
@CsvNumberFormat(pattern="#,##0")
@CsvNumberRange(min="1,000", max="1,000,000,000")
private Integer salary;
// 比較する際には指定した値の範囲内(境界値を含まない)どうかで判定します。
@CsvColumn(number=3)
@CsvNumberRange(min="0.0", max="100.0", inclusive=false)
private Double rate;
// getter/setterは省略
}
public abstract String min
public abstract String max
public abstract boolean inclusive
true
の場合、値以下かどうかとして比較します。
false
の場合、値より小さいかどうかとして比較します。public abstract String message
{key}の書式の場合、プロパティファイルから取得した値を指定できます。
使用可能なメッセージ中の変数は下記の通りです。
min()
をフィールドの型に変換した値です。max()
をフィールドの型に変換した値です。inclusive()
の値です。TextPrinter.print(Object)
でvalidatedValue, min, maxの値を文字列に変換します。CellProcessor
に基づいたメッセージが出力されます。public abstract BuildCase[] cases
public abstract Class<?>[] groups
処理ごとに適用するアノテーションを切り替えたい場合に指定します。
DefaultGroup
が適用され全ての処理に適用されます。Copyright © 2022 mygreen. All rights reserved.