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 java.lang.Object
implements Where

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

作成者:
higa

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

フィールドの詳細

criteriaSb

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


paramList

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


propertyNameList

protected java.util.List<java.lang.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(java.lang.CharSequence propertyName,
            java.lang.Object value)
=の条件を追加します。

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

ne

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

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

lt

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

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

le

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

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

gt

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

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

ge

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

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

in

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

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

in

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

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

notIn

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

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

notIn

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

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

like

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

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

like

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

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

notLike

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

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

notLike

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

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

starts

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

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

notStarts

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

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

ends

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

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

notEnds

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

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

contains

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

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

notContains

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

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

isNull

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

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

isNotNull

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

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

getCriteria

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

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

getParams

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

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

getPropertyNames

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

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

addCondition

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

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

normalize

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

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

normalizeArray

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

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

normalizeList

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

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

assertPropertyName

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

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


Copyright © 2004-2014 The Seasar Foundation. All Rights Reserved.