@Target(value=METHOD) @Retention(value=RUNTIME) @Documented public @interface XlsIgnorable
シートの読み込み時に、XlsHorizontalRecords
、XlsVerticalRecords
の処理対象のレコードが、
空の場合に読み飛ばしたい時に利用します。
このアノテーションを付与するメソッドは、引数なしで、戻り値がbooleanである必要があります。
空のレコードかどうかを判定する際には、IsEmptyBuilder
を利用して簡単に判定することができます。
// シート用クラス
@XlsSheet(name="Users")
public class SampleSheet {
@XlsHorizontalRecords(tableLabel="ユーザ一覧"), terminal=RecordTerminal.Border)
private List<UserRecord> records;
}
// レコード用クラス
public class UserRecord {
@XlsColumn(columnName="ID")
private int id;
@XlsColumn(columnName="名前")
private String name;
@XlsColumn(columnName="住所")
private String address;
// レコードを無視する判定をするためのメソッド
// 列「ID」は空の判定には含まない。
@XlsIsIgnored
public boolean isIgnored() {
if(name != null || !name.isEmpty()) {
return false;
}
if(address != null || !address.isEmpty()) {
return false;
}
}
}
IsEmptyBuilder
を使った記述の簡単化XlsIgnorable
を付与したメソッドの実装において、IsEmptyBuilder
を使用すると、
より簡潔に記述することができます。
*
// レコード用クラス
public class UserRecord {
@XlsColumn(columnName="ID")
private int id;
@XlsColumn(columnName="名前")
private String name;
@XlsColumn(columnName="住所")
private String address;
// レコードが空と判定するためのメソッド
@XlsIgnorable
public boolean isEmpty() {
// 列「ID」は空の判定には含まないよう除外する。
return IsEmptyBuilder.reflectionIsEmpty(this, "id");
}
}
修飾子とタイプ | 任意要素と説明 |
---|---|
ProcessCase[] |
cases
適用するケースを指定します。
|
public abstract ProcessCase[] cases
Copyright © 2022 mygreen. All rights reserved.