@Target(value={FIELD,ANNOTATION_TYPE}) @Retention(value=RUNTIME) @Documented @Repeatable(value=CsvUnique.List.class) @CsvConstraint(value={}) public @interface CsvUnique
全てのクラスタイプに指定可能です。
値を比較する際には、各要素の値のequals()メソッドを用いて判定します。
比較する際に、オブジェクト値をキャッシュするため、レコード数やオブジェクトのサイズによってはメモリをより多く消費します。
そのような場合は、ハッシュ値で検証するCsvUniqueHashCode
を利用してください。
@CsvBean
public class SampleCsv {
@CsvColumn(number=1)
@CsvUnique
private long id;
// getter/setterは省略
}
public abstract String message
{key}の書式の場合、プロパティファイルから取得した値を指定できます。
使用可能なメッセージ中の変数は下記の通りです。
TextPrinter.print(Object)
でvalidatedValueの値を文字列に変換します。CellProcessor
に基づいたメッセージが出力されます。public abstract BuildCase[] cases
public abstract Class<?>[] groups
処理ごとに適用するアノテーションを切り替えたい場合に指定します。
DefaultGroup
が適用され全ての処理に適用されます。Copyright © 2022 mygreen. All rights reserved.