@Target(value={FIELD,ANNOTATION_TYPE}) @Retention(value=RUNTIME) @Documented @Repeatable(value=CsvNumberMin.List.class) @CsvConstraint(value={}) public @interface CsvNumberMin
数値型に指定可能です。
value()
で、下限値を指定します。
inclusive()
で、値の検証時に属性value()
の値を含むかどうか指定します。
@CsvBean
public class SampleCsv {
@CsvColumn(number=1)
@CsvNumberMin("0")
private long id;
// 値は書式に沿った形式で入力します。
@CsvColumn(number=2)
@CsvNumberFormat(pattern="#,##0")
@CsvNumberMin("1,000")
private Integer salary;
// 比較する際には指定した値より大きいかどうかで判定します。
@CsvColumn(number=3)
@CsvNumberMin(value="0.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, minの値を文字列に変換します。CellProcessor
に基づいたメッセージが出力されます。public abstract BuildCase[] cases
public abstract Class<?>[] groups
処理ごとに適用するアノテーションを切り替えたい場合に指定します。
DefaultGroup
が適用され全ての処理に適用されます。Copyright © 2022 mygreen. All rights reserved.