package com.gh.mygreen.xlsmapper;
/**
* {@link IsEmptyBuilder}の設定を組み立てるクラス。
*
* @since 1.0
* @author T.TSUCHIE
*
*/
public class IsEmptyConfig {
/**
* 数値の場合、0を空として扱うか。
*/
private boolean zeroAsEmpty;
/**
* 配列の場合、値も対象とするかどうか。
*/
private boolean testArrayItem;
/**
* Collectionの場合、値も対象とするかどうか。
*/
private boolean testCollectionItem;
/**
* Mapの場合、値も対象とするかどうか。
*/
private boolean testMapItem;
/**
* ransientが付与されたフィールドも対象とするかどうか。
*/
private boolean testTransient;
/**
* インスタンスを作成する。
* @return
*/
public static IsEmptyConfig create() {
return new IsEmptyConfig();
}
/**
* コンストラクタ
*/
public IsEmptyConfig() {
this.zeroAsEmpty = true;
this.testArrayItem = true;
this.testCollectionItem = true;
this.testMapItem = true;
this.testTransient = false;
}
/**
* 数値の0を空として扱うかどうか。
* @return true:0を空として扱う。初期値はtrueです。
*/
public boolean isZeroAsEmpty() {
return zeroAsEmpty;
}
/**
* 数値の0を空として扱うかどうか設定します。
* @param zeroAsEmpty 数値の0を空として扱うかどうか。
* @return 自身のインスタンス
*/
public IsEmptyConfig withZeroAsEmpty(boolean zeroAsEmpty) {
this.zeroAsEmpty = zeroAsEmpty;
return this;
}
/**
* 配列の値も検証対象とするかどうか。
* @return true:配列の値も検証対象とする。初期値はtrueです。
*/
public boolean isTestArrayItem() {
return testArrayItem;
}
/**
* 配列の値も検証対象とするかどうかを設定します設定します。
* @param testArrayItem 配列の値も検証対象とするかどうか
* @return 自身のインスタンス
*/
public IsEmptyConfig withTestArrayItem(boolean testArrayItem) {
this.testArrayItem = testArrayItem;
return this;
}
/**
* Collectionの値も検証対象とするかどうか。
* @return true:Collectionの値も検証対象とする。初期値はtrueです。
*/
public boolean isTestCollectionItem() {
return testCollectionItem;
}
/**
* Collectionの値も検証対象とするかどうかを設定します設定します。
* @param testCollectionItem Collectionの値も検証対象とするかどうか
* @return 自身のインスタンス
*/
public IsEmptyConfig withTestCollectionItem(boolean testCollectionItem) {
this.testCollectionItem = testCollectionItem;
return this;
}
/**
* Mapの値も検証対象とするかどうか。
* @return true:Mapの値も検証対象とする。初期値はtrueです。
*/
public boolean isTestMapItem() {
return testMapItem;
}
/**
* Mapの値も検証対象とするかどうかを設定します設定します。
* @param testMapItem Mapの値も検証対象とするかどうか
* @return 自身のインスタンス
*/
public IsEmptyConfig withTestMapItem(boolean testMapItem) {
this.testMapItem = testMapItem;
return this;
}
/**
* transientが付与されたフィールドも対象とするかどうか。
* @return true:場合テスト対象となります。初期値はfalseです。
*/
public boolean isTestTransient() {
return testTransient;
}
/**
* transientが付与されたフィールドも対象とするかどうか設定します。
* @param testTransient transientが付与されたフィールドも対象とするかどうか。
* @return 自身のインスタンス
*/
public IsEmptyConfig withTestTransient(boolean testTransient) {
this.testTransient = testTransient;
return this;
}
}