@Target(value={FIELD,ANNOTATION_TYPE}) @Retention(value=RUNTIME) @Documented @Repeatable(value=CsvRegexReplace.List.class) @CsvConversion(value={}) public @interface CsvRegexReplace
regex()
で、正規表現を指定します。
Pattern
で解釈可能な値を指定する必要があります。。
replacement()
で置換後の値を指定します。flags()
で、正規表現をコンパイルする際のフラグを列挙型PatternFlag
で指定します。
@CsvBean
public class SampleCsv {
// 日時の「2016/12/17」の形式を「2016-12-17」の形式に変換します。
@CsvColumn(number=1)
@CsvRegexReplace(regex="([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})", replacement="$1-$2-$3")
private LocalDate date;
// コンパイル用のフラグを指定する場合
@CsvColumn(number=2)
@CsvRegexReplace(regex="^comment(.+)", replacement='$1', flags={PatternFlag.CASE_INSENSITIVE})
private String comment;
// getter/setterは省略
}
修飾子とタイプ | 必須要素と説明 |
---|---|
String |
regex
正規表現の値を指定します。
|
String |
replacement
置換後の値を指定します。
|
修飾子とタイプ | 任意要素と説明 |
---|---|
BuildCase[] |
cases
適用するケースを指定します。
|
PatternFlag[] |
flags
正規表現をコンパイルする際のフラグを指定します。
|
Class<?>[] |
groups
グループのクラスを指定します。
|
int |
order
アノテーションの処理順序の定義。
|
boolean |
partialMatched
正規表現で一致するものを検索するときに、部分一致で検索するかどうか。
|
public abstract String replacement
一致した場合に入れ替える値となります。
public abstract PatternFlag[] flags
列挙型PatternFlag
で指定します。
public abstract boolean partialMatched
Matcher.find()
を使用する。Matcher.matches()
を使用する。public abstract BuildCase[] cases
public abstract Class<?>[] groups
処理ごとに適用するアノテーションを切り替えたい場合に指定します。
DefaultGroup
が適用され全ての処理に適用されます。Copyright © 2022 mygreen. All rights reserved.