jp.wda.gpss.util
クラス Finder

java.lang.Object
  |
  +--jp.wda.gpss.util.FinderBase
        |
        +--jp.wda.gpss.util.Finder
直系の既知のサブクラス:
InitParamContainerImpl.PFinder, SocketProcessorFinder

public abstract class Finder
extends FinderBase

Listからオブジェクトを検索するクラス(複数条件指定用)の基底クラス

導入されたバージョン:
1.00α003 2003/05/01
バージョン:
1.00β006 2003/05/29
作成者:
amoi

フィールドの概要
protected  FinderElement firstelement
          最初のFinderElement検索条件
protected  java.util.LinkedList group
          Finderのグループ
 
クラス jp.wda.gpss.util.FinderBase から継承したフィールド
and
 
コンストラクタの概要
Finder()
          デフォルトの設定を用いてオブジェクトを構築します。
 
メソッドの概要
 void addFinder(boolean and, Finder finder)
          このオブジェクトにFinderElement検索条件を追加します。
 void addFinder(boolean and, FinderElement finder)
          このオブジェクトにFinderElement検索条件を追加します。
 void addFinder(java.lang.String connector, java.lang.String condition)
          このオブジェクトに文字列で指定された検索条件を追加します。
 void addGroup(boolean and, Finder finder)
          このオブジェクトに、Finder検索条件句を追加します。
protected  Finder createNewFinder()
          新しいFinder検索条件句を作成します。
 boolean equals(java.lang.Object elem)
          このオブジェクトに所属するすべてのFinderまたはFinderElementのequalsを実行します。
 java.lang.Object get(java.util.List list)
          java.util.Listオブジェクトから、 このFinder検索条件句で指定された条件を満たすオブジェクトのみを抽出します。
 java.util.List getList(java.util.List list)
          java.util.Listオブジェクトから、 このFinder検索条件句で指定された条件を満たすオブジェクトのみを抽出し、 新しいListオブジェクトとして取得します。
abstract  java.lang.Object getReturnValue(java.lang.Object elem)
          getList / getメソッドにて、条件を満たすと確認されたオブジェクトから、 実際に使用する値を抽出してください。
protected  void setCondition(java.lang.String condition)
          推奨されていません。  
protected  void setNextFinder(boolean con, boolean not, java.lang.String column, java.lang.String value)
          検索条件の左辺値と右辺値を指定して、新しいFinderElement検索条件をこのオブジェクトに追加します。
 
クラス jp.wda.gpss.util.FinderBase から継承したメソッド
connect, isAND, isAND
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

group

protected java.util.LinkedList group
Finderのグループ


firstelement

protected FinderElement firstelement
最初のFinderElement検索条件

コンストラクタの詳細

Finder

public Finder()
デフォルトの設定を用いてオブジェクトを構築します。

メソッドの詳細

equals

public boolean equals(java.lang.Object elem)
このオブジェクトに所属するすべてのFinderまたはFinderElementのequalsを実行します。

オーバーライド:
クラス java.lang.Object 内の equals
パラメータ:
elem - 比較対照の参照オブジェクト
戻り値:
このオブジェクトに含まれる全ての判断条件に合致している場合は真
関連項目:
FinderElement.equals(Object)

addGroup

public void addGroup(boolean and,
                     Finder finder)
このオブジェクトに、Finder検索条件句を追加します。

パラメータ:
and - 条件接続条件
finder - 追加するFinder検索条件句

addFinder

public void addFinder(boolean and,
                      Finder finder)
このオブジェクトにFinderElement検索条件を追加します。
指定されたFinderオブジェクトの最初のFinderElement検索条件が追加されます。

パラメータ:
and - 条件接続条件
finder - 追加するFinder検索条件句

addFinder

public void addFinder(boolean and,
                      FinderElement finder)
このオブジェクトにFinderElement検索条件を追加します。

パラメータ:
and - 条件接続条件
finder - 追加するFinderグループ

addFinder

public void addFinder(java.lang.String connector,
                      java.lang.String condition)
               throws jp.wda.gpss.util.FinderCreatingException
このオブジェクトに文字列で指定された検索条件を追加します。

パラメータ:
connector - 検索条件接続詞 "&"または"|"を指定してください。
condition - 検索条件文字列
例外:
FinderCreatingException - Finderの追加に失敗した時

getList

public java.util.List getList(java.util.List list)
java.util.Listオブジェクトから、 このFinder検索条件句で指定された条件を満たすオブジェクトのみを抽出し、 新しいListオブジェクトとして取得します。
検索された条件に合うオブジェクトが存在しない場合は空のListを返します。

パラメータ:
list - 検索条件に合うオブジェクトを抽出するListオブジェクト
戻り値:
抽出されたオブジェクト一覧を保持するListオブジェクト

get

public java.lang.Object get(java.util.List list)
java.util.Listオブジェクトから、 このFinder検索条件句で指定された条件を満たすオブジェクトのみを抽出します。
指定されたListに、条件の合う複数のオブジェクトが存在した場合は、 一番初めに検索されたオブジェクトを返します。
検索された条件に合うオブジェクトが存在しない場合はNULLを返します。

パラメータ:
list - 検索条件に合うオブジェクトを抽出するListオブジェクト
戻り値:
抽出されたオブジェクト

createNewFinder

protected Finder createNewFinder()
新しいFinder検索条件句を作成します。
Finderクラスのこのメソッドは何も行ないません。
setConditionメソッドが必要なクラスでは、必ずこのメソッドをオーバーライドしてください。

戻り値:
新しいFinder検索条件句

setNextFinder

protected void setNextFinder(boolean con,
                             boolean not,
                             java.lang.String column,
                             java.lang.String value)
検索条件の左辺値と右辺値を指定して、新しいFinderElement検索条件をこのオブジェクトに追加します。
Finderクラスのこのメソッドは何も行ないません。
setConditionメソッドが必要なクラスでは、必ずこのメソッドをオーバーライドしてください。

パラメータ:
con - 条件接続条件
not - 否定条件
column - 条件の左辺値
value - 条件の右辺値

setCondition

protected void setCondition(java.lang.String condition)
推奨されていません。  

条件文を指定して、このオブジェクト検索用オブジェクトに条件を設定します。
条件の接続には、AND接続の場合は'&'、OR接続の場合は、'|'を記述してください。
また、"()"を使用して条件のグループかも出来ます。
例)
(p.room == osyaberi & (username == amoi | username == kon))
詳細な検索条件は、派生クラスのsetNextFinderで記述してください。

パラメータ:
condition - 条件文

getReturnValue

public abstract java.lang.Object getReturnValue(java.lang.Object elem)
getList / getメソッドにて、条件を満たすと確認されたオブジェクトから、 実際に使用する値を抽出してください。
通常はそのままelemを返せしてください。

パラメータ:
elem - getlist / getメソッドで条件を満たすと確認されたオブジェクト
戻り値:
getlist / getメソッドで実際に使用される値