jp.co.intra_mart.foundation.workflow.application.general.condition
クラス ListSearchCondition<E extends Enum<E> & IColumn>
java.lang.Object
jp.co.intra_mart.foundation.workflow.application.general.condition.ListSearchCondition<E>
- 型パラメータ:
E
- カラム情報格納クラス -
「IColumn」を継承している「jp.co.intra_mart.foundation.workflow.application.model.column」パッケージのクラスが対象になります。
public class ListSearchCondition<E extends Enum<E> & IColumn>
- extends Object
検索条件情報クラス
検索条件になる情報を設定します。
条件を指定する際に、キーになるクラスは「IColumn」を継承している「jp.co.intra_mart.foundation.workflow.application.model.column」
パッケージのクラスが対象になります。
<E>に定義されているENUMで検索条件のキーを指定します。
条件の追加時にはキーになるカラムとその比較対象の値、比較方法を指定します。比較方法は「OperatorType」を利用します。
この検索条件には案件プロパティをキーとして指定することが可能です。
案件プロパティの操作には「addConditionByMatterProp」「addColumnByMatterProp」「addOrderByMatterProp」を利用します。
案件プロパティを検索条件として指定したり、取得するカラムとして指定することが可能です。
案件プロパティの指定には「ColumnType」が必要です。検索もしくはソートを行う際に、案件プロパティを文字、値、日付のどのタイプで扱うかを指定します。
【 各項目の必須/任意 】
レコードの取得位置またはレコードの取得件数を設定する場合、ソート条件は必須となります。
【使用例】
ListSearchCondition<E> cond = new ListSearchCondition<E>();
// フローIDカラムが「id001」と同じものを検索
cond.addCondition(<E>.FLOW_ID, "id001", OperatorType.EQ);
// 申請基準日が「2011/01/01」より大きいものを検索
cond.addCondition(<E>.APPLY_BASE_DATE, "2011/01/01", OperatorType.GT);
// フロー名が「フロー」を含めるものを検索
cond.addCondition(<E>.FLOW_NAME, "フロー",OperatorType.LIKE);
// 検索した結果として案件プロパティを一緒に取得したい場合には「addColumnByMatterProp」でそのカラムのキーを指定します。
cond.addColumnByMatterProp("key1");
cond.addColumnByMatterProp("key2");
// 「addColumnByMatterProp」追加した案件プロパティを条件式で使用した場合には「addColumnByMatterProp」で指定します。
// 案件プロパティを指定する場合にはカラムタイプを指定する必要があります。
// 設定例)案件プロパティのキー「key2」が1000より大きい場合の条件を追加、ただしカラムは「文字列」として扱い検索します。
cond.addConditionByMatterProp("key2", "1000", OperatorType.GT, ColumnType.VARCHAR);
// ソート条件を指定する。フローIDで「昇順」ソートする。
cond.addOrder(<E>.FLOW_ID, true); // true:昇順 / false:降順
// 案件プロパティをソート条件として指定します。ただしカラムは「数字」として扱いソートします。
cond.addOrderByMatterProp("key2", false, ColumnType.NUMBER);
// データ取得の件数を絞ります。
cond.setOffset(0); // 「0」行から
cond.setCount(3); // 「3」行まで
- 導入されたバージョン:
- 7.2
- 関連項目:
OperatorType
,
ColumnType
,
IColumn
ListSearchCondition
public ListSearchCondition()
- コンストラクタ
検索条件情報クラスを新しく生成します。
addCondition
public void addCondition(E column,
String value,
OperatorType operatorType)
- 検索結果を絞り込む条件を追加します。
指定したカラムを検索条件として追加したい場合に利用します。
指定できるカラムは「IColumn」を継承している「jp.co.intra_mart.foundation.workflow.application.model.column」パッケージ内のクラスです。
他に案件プロパティを検索キーで使用する場合には「addConditionByMatterProp(String, String, OperatorType, ColumnType)
」を利用する必要があります。
- パラメータ:
column
- E カラムvalue
- String 値operatorType
- OperatorType 比較演算子
addConditionByMatterProp
public void addConditionByMatterProp(String mpKeyName,
String value,
OperatorType operatorType,
ColumnType type)
- 検索結果を絞り込む条件として使用する案件プロパティキーを追加します。
案件プロパティはデータベースでは文字列で保存されています。
比較演算子(OperatorType)が大小の比較の場合は、「ColumnType」の指定が文字か数字かによって、取得結果が異なる場合があります。
- パラメータ:
mpKeyName
- String 案件プロパティキーvalue
- String 比較値operatorType
- OperatorType 比較演算子type
- ColumnType 案件プロパティ値の型
addColumnByMatterProp
public void addColumnByMatterProp(String mpKeyName)
- 検索結果モデルに表示カラムとして追加する案件プロパティのキーを追加します。
検索結果モデルの内に設定される「UserMatterPropertyModel」から指定したキーとその値が取得できまます。
ただし、キーに該当するレコードが存在しない場合や、取得した値が空文字の場合は
「UserMatterPropertyModel」に設定される「案件プロパティ値」は「null」になります。
- パラメータ:
mpKeyName
- String 案件プロパティキー- 関連項目:
UserMatterPropertyModel
addOrder
public void addOrder(E column,
boolean isASC)
- ソート条件を追加します。
指定したカラムをソート条件として追加したい場合に利用します。
指定できるカラムは「IColumn」を継承している「jp.co.intra_mart.foundation.workflow.application.model.column」パッケージ内のクラスです。
他に案件プロパティをソートキーで使用する場合には「addOrderByMatterProp(String, boolean, ColumnType)
」を利用する必要があります。
- パラメータ:
column
- E カラムisASC
- boolean true:昇順 / false:降順
addOrderByMatterProp
public void addOrderByMatterProp(String mpKeyName,
boolean isASC,
ColumnType type)
- 案件プロパティをソート条件として追加します。
案件プロパティはデータベースでは文字列で保存されていますが、
その文字をソートする際に、数字や日付として扱う必要がある場合は、「ColumnType」で指定することができます。
- パラメータ:
mpKeyName
- String 案件プロパティキーisASC
- boolean true:昇順 / false:降順type
- ColumnType 案件プロパティ値の型
getMatterPropKeys
public List<MatterPropertyKey> getMatterPropKeys()
- 取得対象案件プロパティキーの配列を取得します。
ソート条件、検索条件、表示カラムで指定されている全ての値を取得します。
「addColumnByMatterProp(String)
」や「
addConditionByMatterProp(String, String, OperatorType, ColumnType)
」、「
addOrderByMatterProp(String, boolean, ColumnType)
」で指定した値が取得できます。
- 戻り値:
- List 案件プロパティキーの配列
getMatterPropKeys4Column
public List<MatterPropertyKey> getMatterPropKeys4Column()
- 検索結果モデルに表示カラムとして追加する案件プロパティのキーを取得します。
addColumnByMatterProp(String)
で追加した値を取得します。
- 戻り値:
- List 表示カラムとして指定した案件プロパティキーの配列
getConditions
public List<ColumnCondition> getConditions()
- 検索条件の配列を取得します。
「setConditions(List)
」や「addCondition(Enum, String, OperatorType)
」、
addConditionByMatterProp(String, String, OperatorType, ColumnType)
」で設定した検索条件の配列を取得します。
- 戻り値:
- List 検索条件の配列
setConditions
public void setConditions(List<ColumnCondition> conditions)
- 検索条件の配列を設定します。
検索条件になる「ColumnCondition」を外部から生成して、直接してする場合に使用します。
「addCondition(Enum, String, OperatorType)
」、
addConditionByMatterProp(String, String, OperatorType, ColumnType)
」で個別に値を追加するのと同じ結果になります。
- パラメータ:
conditions
- 検索条件の配列
getOrders
public List<SortCondition> getOrders()
- ソート条件の配列を取得します。
「setOrders(List)
」や「addOrder(Enum, boolean)
」
addOrderByMatterProp(String, boolean, ColumnType)
」で設定したソート条件の配列を取得します。
- 戻り値:
- List ソート条件の配列
setOrders
public void setOrders(List<SortCondition> orders)
- ソート条件の配列を設定します。
SortConditionを外部から生成して、直接指定する場合に使用します。
「addOrder(Enum, boolean)
」、「addOrderByMatterProp(String, boolean, ColumnType)
」で個別に値を追加するのと同じ結果になります。
- パラメータ:
orders
- ソート条件の配列
getOffset
public int getOffset()
- レコードの取得位置を取得します。
- 戻り値:
- int レコードの取得位置
setOffset
public void setOffset(int offset)
- レコードの取得位置を設定します。
- パラメータ:
offset
- int レコードの取得位置
getCount
public int getCount()
- レコードの取得件数を取得します。
- 戻り値:
- int レコードの取得件数
setCount
public void setCount(int count)
- レコードの取得件数を設定します。
- パラメータ:
count
- int レコードの取得件数
setAndCombination
public void setAndCombination(boolean isAndCombination)
- 複数条件の結合条件を設定します。
複数の条件を指定した場合に、条件間の結合タイプを「AND」か「OR」で指定します。
各条件の結合は「AND」か「OR」のどちらかに統一されます。
- パラメータ:
isAndCombination
- boolean true:AND結合 / false:OR結合
isAndCombination
public boolean isAndCombination()
- 複数条件の結合フラグを取得します。
- 戻り値:
- boolean true:AND結合 / false:OR結合
Copyright © 2000-2015 NTT DATA INTRAMART CO.,LTD.. All Rights Reserved.