org.seasar.extension.jdbc.where
クラス AbstractWhere<T extends AbstractWhere<T>>

java.lang.Object
  上位を拡張 org.seasar.extension.jdbc.where.AbstractWhere<T>
型パラメータ:
T - このクラスのサブクラス
すべての実装されたインタフェース:
Where
直系の既知のサブクラス:
ComplexWhere, SimpleWhere

public class AbstractWhere<T extends AbstractWhere<T>>
extends Object
implements Where

検索条件を組み立てる抽象クラスです。

作成者:
higa

フィールドの概要
protected  StringBuilder criteriaSb
          現在のクライテリアを保持する文字列バッファ
protected  boolean ignoreWhitespace
          eq(String, Object)等で渡されたパラメータ値が空文字列または空白のみの文字列ならnullとして扱い、 条件に加えない場合はtrue
protected  List<Object> paramList
          バインド変数のリスト
protected  List<String> propertyNameList
          バインド変数に対応するプロパティ名のリスト
 
コンストラクタの概要
AbstractWhere()
          インスタンスを構築します。
 
メソッドの概要
protected  void addCondition(ConditionType conditionType, String propertyName, Object value)
          条件を追加します。
 T contains(String propertyName, String value)
          like '%?
 T ends(String propertyName, String value)
          like '%?'
 T eq(String propertyName, Object value)
          =の条件を追加します。
 T ge(String propertyName, Object value)
          >=の条件を追加します。
 String getCriteria()
          クライテリアを返します。
 Object[] getParams()
          パラメータの配列を返します。
 String[] getPropertyNames()
          プロパティの名前の配列を返します。
 T gt(String propertyName, Object value)
          >の条件を追加します。
 T ignoreWhitespace()
          eq(String, Object)等で渡されたパラメータ値が空文字列または空白のみの文字列ならnullとして扱い、条件に加えないことを指定します。
 T in(String propertyName, Object... values)
          inの条件を追加します。
 T isNotNull(String propertyName, Boolean value)
          is not nullの条件を追加します。
 T isNull(String propertyName, Boolean value)
          is nullの条件を追加します。
 T le(String propertyName, Object value)
          <=の条件を追加します。
 T like(String propertyName, String value)
          likeの条件を追加します。
 T lt(String propertyName, Object value)
          <の条件を追加します。
 T ne(String propertyName, Object value)
          <>の条件を追加します。
protected  Object[] normalize(Object... values)
          ignoreWhitespace()が呼び出された場合で パラメータ値の要素が空文字列または空白のみの文字列ならnull、 それ以外なら元の値からなる配列を返します。
protected  Object normalize(Object value)
          ignoreWhitespace()が呼び出された場合でパラメータ値が空文字列または空白のみの文字列ならnullを、 それ以外なら元の値をそのまま返します。
 T notIn(String propertyName, Object... values)
          not inの条件を追加します。
 T starts(String propertyName, String value)
          like '?
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

criteriaSb

protected StringBuilder criteriaSb
現在のクライテリアを保持する文字列バッファ


paramList

protected List<Object> paramList
バインド変数のリスト


propertyNameList

protected List<String> propertyNameList
バインド変数に対応するプロパティ名のリスト


ignoreWhitespace

protected boolean ignoreWhitespace
eq(String, Object)等で渡されたパラメータ値が空文字列または空白のみの文字列ならnullとして扱い、 条件に加えない場合はtrue

コンストラクタの詳細

AbstractWhere

public AbstractWhere()
インスタンスを構築します。

メソッドの詳細

addCondition

protected void addCondition(ConditionType conditionType,
                            String propertyName,
                            Object value)
条件を追加します。

パラメータ:
conditionType - 条件タイプ
propertyName - プロパティ名
value - 値

normalize

protected Object normalize(Object value)
ignoreWhitespace()が呼び出された場合でパラメータ値が空文字列または空白のみの文字列ならnullを、 それ以外なら元の値をそのまま返します。

パラメータ:
value - パラメータ値
戻り値:
ignoreWhitespace()が呼び出された場合でパラメータ値が空文字列または空白のみの文字列ならnull、 それ以外なら元の値

normalize

protected Object[] normalize(Object... values)
ignoreWhitespace()が呼び出された場合で パラメータ値の要素が空文字列または空白のみの文字列ならnull、 それ以外なら元の値からなる配列を返します。

パラメータ:
values - パラメータ値の配列
戻り値:
ignoreWhitespace()が呼び出された場合でパラメータ値の要素が空文字列または空白のみの文字列ならnull、 それ以外なら元の値からなる配列

ignoreWhitespace

public T ignoreWhitespace()
eq(String, Object)等で渡されたパラメータ値が空文字列または空白のみの文字列ならnullとして扱い、条件に加えないことを指定します。

戻り値:
このインスタンス自身

eq

public T eq(String propertyName,
            Object value)
=の条件を追加します。

パラメータ:
propertyName -
value -
戻り値:
このインスタンス自身

ne

public T ne(String propertyName,
            Object value)
<>の条件を追加します。

パラメータ:
propertyName -
value -
戻り値:
このインスタンス自身

lt

public T lt(String propertyName,
            Object value)
<の条件を追加します。

パラメータ:
propertyName -
value -
戻り値:
このインスタンス自身

le

public T le(String propertyName,
            Object value)
<=の条件を追加します。

パラメータ:
propertyName -
value -
戻り値:
このインスタンス自身

gt

public T gt(String propertyName,
            Object value)
>の条件を追加します。

パラメータ:
propertyName -
value -
戻り値:
このインスタンス自身

ge

public T ge(String propertyName,
            Object value)
>=の条件を追加します。

パラメータ:
propertyName -
value -
戻り値:
このインスタンス自身

in

public T in(String propertyName,
            Object... values)
inの条件を追加します。

パラメータ:
propertyName -
values -
戻り値:
このインスタンス自身

notIn

public T notIn(String propertyName,
               Object... values)
not inの条件を追加します。

パラメータ:
propertyName -
values -
戻り値:
このインスタンス自身

like

public T like(String propertyName,
              String value)
likeの条件を追加します。

パラメータ:
propertyName -
value -
戻り値:
このインスタンス自身

starts

public T starts(String propertyName,
                String value)
like '?%'の条件を追加します。

パラメータ:
propertyName -
value -
戻り値:
このインスタンス自身

ends

public T ends(String propertyName,
              String value)
like '%?'の条件を追加します。

パラメータ:
propertyName -
value -
戻り値:
このインスタンス自身

contains

public T contains(String propertyName,
                  String value)
like '%?%'の条件を追加します。

パラメータ:
propertyName -
value -
戻り値:
このインスタンス自身

isNull

public T isNull(String propertyName,
                Boolean value)
is nullの条件を追加します。

パラメータ:
propertyName -
value -
戻り値:
このインスタンス自身

isNotNull

public T isNotNull(String propertyName,
                   Boolean value)
is not nullの条件を追加します。

パラメータ:
propertyName -
value -
戻り値:
このインスタンス自身

getCriteria

public String getCriteria()
インタフェース Where の記述:
クライテリアを返します。

定義:
インタフェース Where 内の getCriteria
戻り値:
クライテリア

getParams

public Object[] getParams()
インタフェース Where の記述:
パラメータの配列を返します。

定義:
インタフェース Where 内の getParams
戻り値:
パラメータの配列

getPropertyNames

public String[] getPropertyNames()
インタフェース Where の記述:
プロパティの名前の配列を返します。

定義:
インタフェース Where 内の getPropertyNames
戻り値:
プロパティの名前の配列


Copyright ? 2004-2007 The Seasar Foundation. All Rights Reserved.