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 excludesWhitespace
          #eq(String, Object)等で渡されたパラメータ値が空文字列または空白のみの文字列なら nullとして扱い、 条件に加えない場合はtrue
protected  List<Object> paramList
          バインド変数のリスト
protected  List<String> propertyNameList
          バインド変数に対応するプロパティ名のリスト
 
コンストラクタの概要
AbstractWhere()
          インスタンスを構築します。
 
メソッドの概要
protected  void addCondition(ConditionType conditionType, String propertyName, Object value)
          条件を追加します。
protected  void assertPropertyName(CharSequence s)
          プロパティ名がnullでないことを確認します。
 T contains(CharSequence propertyName, String value)
          like '%?
 T ends(CharSequence propertyName, String value)
          like '%?'
 T eq(CharSequence propertyName, Object value)
          =の条件を追加します。
 T excludesWhitespace()
          #eq(String, Object)等で渡されたパラメータ値が空文字列または空白のみの文字列なら nullとして扱い、条件に加えないことを指定します。
 T ge(CharSequence propertyName, Object value)
          >=の条件を追加します。
 String getCriteria()
          クライテリアを返します。
 Object[] getParams()
          パラメータの配列を返します。
 String[] getPropertyNames()
          プロパティの名前の配列を返します。
 T gt(CharSequence propertyName, Object value)
          >の条件を追加します。
 T ignoreWhitespace()
          推奨されていません。 
 T in(CharSequence propertyName, Collection<?> values)
          inの条件を追加します。
 T in(CharSequence propertyName, Object... values)
          inの条件を追加します。
 T isNotNull(CharSequence propertyName, Boolean value)
          is not nullの条件を追加します。
 T isNull(CharSequence propertyName, Boolean value)
          is nullの条件を追加します。
 T le(CharSequence propertyName, Object value)
          <=の条件を追加します。
 T like(CharSequence propertyName, String value)
          likeの条件を追加します。
 T like(CharSequence propertyName, String value, char escape)
          likeの条件を追加します。
 T lt(CharSequence propertyName, Object value)
          <の条件を追加します。
 T ne(CharSequence propertyName, Object value)
          <>の条件を追加します。
protected  Object normalize(Object value)
          ignoreWhitespace()が呼び出された場合でパラメータ値が空文字列または空白のみの文字列なら nullを、 それ以外なら元の値をそのまま返します。
protected  Object[] normalizeArray(Object... values)
          ignoreWhitespace()が呼び出された場合で パラメータ値の要素が空文字列または空白のみの文字列なら null、 それ以外なら元の値からなる配列を返します。
protected  Collection<?> normalizeList(Collection<?> values)
          ignoreWhitespace()が呼び出された場合で パラメータ値の要素が空文字列または空白のみの文字列なら null、 それ以外なら元の値からなるリストを返します。
 T notContains(CharSequence propertyName, String value)
          not like '%?
 T notEnds(CharSequence propertyName, String value)
          not like '%?'
 T notIn(CharSequence propertyName, Collection<?> values)
          not inの条件を追加します。
 T notIn(CharSequence propertyName, Object... values)
          not inの条件を追加します。
 T notLike(CharSequence propertyName, String value)
          not likeの条件を追加します。
 T notLike(CharSequence propertyName, String value, char escape)
          not likeの条件を追加します。
 T notStarts(CharSequence propertyName, String value)
          not like '?
 T starts(CharSequence 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
バインド変数に対応するプロパティ名のリスト


excludesWhitespace

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

コンストラクタの詳細

AbstractWhere

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

メソッドの詳細

excludesWhitespace

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

戻り値:
このインスタンス自身
関連項目:
ignoreWhitespace()

ignoreWhitespace

@Deprecated
public T ignoreWhitespace()
推奨されていません。 

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

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

eq

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

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

ne

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

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

lt

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

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

le

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

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

gt

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

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

ge

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

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

in

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

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

in

public T in(CharSequence propertyName,
            Collection<?> values)
inの条件を追加します。

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

notIn

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

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

notIn

public T notIn(CharSequence propertyName,
               Collection<?> values)
not inの条件を追加します。

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

like

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

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

like

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

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

notLike

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

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

notLike

public T notLike(CharSequence propertyName,
                 String value,
                 char escape)
not likeの条件を追加します。

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

starts

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

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

notStarts

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

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

ends

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

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

notEnds

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

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

contains

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

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

notContains

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

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

isNull

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

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

isNotNull

public T isNotNull(CharSequence 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
戻り値:
プロパティの名前の配列

addCondition

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

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

normalize

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

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

normalizeArray

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

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

normalizeList

protected Collection<?> normalizeList(Collection<?> values)
ignoreWhitespace()が呼び出された場合で パラメータ値の要素が空文字列または空白のみの文字列なら null、 それ以外なら元の値からなるリストを返します。

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

assertPropertyName

protected void assertPropertyName(CharSequence s)
プロパティ名がnullでないことを確認します。

パラメータ:
s - 文字の列


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