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
          バインド変数に対応するプロパティ名のリスト
protected static char WILDCARD_ESCAPE_CHAR
          LIKE述語で指定される検索条件中のワイルドカード文字をエスケープするための文字
protected static Pattern WILDCARD_PATTERN
          LIKE 述語で指定される検索条件中のワイルドカードをエスケープするためのパターン
 
コンストラクタの概要
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)
          =の条件を追加します。
protected  String escapeWildcard(String likeCondition)
          LIKE述語で使用される検索条件のワイルドカードを'$'でエスケープします.
 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, 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... values)
          ignoreWhitespace()が呼び出された場合で パラメータ値の要素が空文字列または空白のみの文字列なら null、 それ以外なら元の値からなる配列を返します。
protected  Object normalize(Object value)
          ignoreWhitespace()が呼び出された場合でパラメータ値が空文字列または空白のみの文字列なら nullを、 それ以外なら元の値をそのまま返します。
 T notIn(CharSequence propertyName, Object... values)
          not inの条件を追加します。
 T starts(CharSequence propertyName, String value)
          like '?
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

WILDCARD_PATTERN

protected static final Pattern WILDCARD_PATTERN
LIKE 述語で指定される検索条件中のワイルドカードをエスケープするためのパターン


WILDCARD_ESCAPE_CHAR

protected static final char WILDCARD_ESCAPE_CHAR
LIKE述語で指定される検索条件中のワイルドカード文字をエスケープするための文字

関連項目:
定数フィールド値

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 -
戻り値:
このインスタンス自身

notIn

public T notIn(CharSequence propertyName,
               Object... 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 -
戻り値:
このインスタンス自身

starts

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

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

ends

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

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

contains

public T contains(CharSequence propertyName,
                  String value)
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、 それ以外なら元の値

normalize

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

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

escapeWildcard

protected String escapeWildcard(String likeCondition)
LIKE述語で使用される検索条件のワイルドカードを'$'でエスケープします.

パラメータ:
likeCondition - LIKE述語で使用される検索条件の文字列
戻り値:
ワイルドカードを'$'でエスケープした文字列

assertPropertyName

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

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


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