jp.co.melco.preserv.spatial.common
クラス FeatureAttributeQueries

java.lang.Object
  拡張jp.co.melco.preserv.spatial.common.FeatureAttributeQueries
すべての実装インタフェース:
java.io.Serializable

public class FeatureAttributeQueries
extends java.lang.Object
implements java.io.Serializable

主題属性の検索条件の一覧を保持するクラスです。 検索1回分の複数条件を設定することが可能です。
また、検索条件ごとに、ANDで繋げる条件なのか、ORで繋げる条件なのかを指定することが可能です。 指定可能な検索条件を以下、表に示します。

条件 内容 部分一致 AND条件
「=」 主題属性が指定値と一致するかを検索条件にする。 個別指定可能。
ただし、文字列型の場合のみ有効。その他の型の場合は、無効となり、完全一致として検索される。
個別指定可能。
「>=」 主題属性が指定値「以上」の値であるかを検索条件にする。 指定不可。 個別指定可能。
「>」 主題属性が指定値「より大きい」値であるかを検索条件にする。 指定不可。 個別指定可能。
「<=」 主題属性が指定値「以下」の値であるかを検索条件にする。 指定不可。 個別指定可能。
「<」 主題属性が指定値「より小さい」値であるかを検索条件にする。 指定不可。 個別指定可能。
「!=」 主題属性が指定値「一致しない」値であるかを検索条件にする。 指定不可。 個別指定可能。
「IS NULL」 主題属性が指定値が「NULL」値であるかを検索条件にする。 指定不可。 個別指定可能。
「IS NOT NULL」 主題属性が指定値が「NULLでない」値であるかを検索条件にする。 指定不可。 個別指定可能。

条件は複数指定することが可能ですが、一番最初の条件は必ずAND条件で指定する必要があります。 一番最初の条件にOR条件を指定した場合は、無視され、AND条件として検索条件に追加されますので、注意してください。
指定可能な条件の上限数はありません。ただし、設定された条件は内部でSQLに変換されます。この際に、SQL文の最大文字数を超えると実行時にSQLExceptionが発生します。 (ORACLEの場合おおよそ、1000条件までは、設定可能です。)
多量の条件を設定した場合、検索時に性能劣化する恐れがあります。

作成者:
PreSerV Development Team
関連項目:
直列化された形式

入れ子クラスの概要
 class FeatureAttributeQueries.AttributeQuery
          主題属性の検索条件を保持するクラスです。
 
コンストラクタの概要
FeatureAttributeQueries()
          コンストラクタです。
 
メソッドの概要
 void addEqualQuery(java.lang.String key, java.lang.Object value)
          「イコール」条件を追加します。
 void addEqualQuery(java.lang.String key, java.lang.Object value, boolean isMatchPart, boolean isAnd)
          「イコール」条件を追加します。
 void addGreatorQuery(java.lang.String key, java.lang.Object value)
          「より大きい」条件を追加します。
 void addGreatorQuery(java.lang.String key, java.lang.Object value, boolean isAnd)
          「より大きい」条件を追加します。
 void addGreatorThanQuery(java.lang.String key, java.lang.Object value)
          「以上」条件を追加します。
 void addGreatorThanQuery(java.lang.String key, java.lang.Object value, boolean isAnd)
          「以上」条件を追加します。
 void addIsNotNullQuery(java.lang.String key)
          「IS NOT NULL」条件を追加します。
 void addIsNotNullQuery(java.lang.String key, boolean isAnd)
          「IS NOT NULL」条件を追加します。
 void addIsNullQuery(java.lang.String key)
          「IS NULL」条件を追加します。
 void addIsNullQuery(java.lang.String key, boolean isAnd)
          「IS NULL」条件を追加します。
 void addLessQuery(java.lang.String key, java.lang.Object value)
          「より小さい」条件を追加します。
 void addLessQuery(java.lang.String key, java.lang.Object value, boolean isAnd)
          「より小さい」条件を追加します。
 void addLessThanQuery(java.lang.String key, java.lang.Object value)
          「以下」条件を追加します。
 void addLessThanQuery(java.lang.String key, java.lang.Object value, boolean isAnd)
          「以下」条件を追加します。
 void addNotEqualQuery(java.lang.String key, java.lang.Object value)
          「不一致」条件を追加します。
 void addNotEqualQuery(java.lang.String key, java.lang.Object value, boolean isAnd)
          「不一致」条件を追加します。
 void addQuery(java.lang.String stringQuery, boolean isMatchPart, boolean isAnd)
          <<本メソッドはユーザ非公開のメソッドです。
 void clear()
          追加された条件全てを破棄します。
 FeatureAttributeQueries.AttributeQuery getQuery(int index)
          指定した番号の条件を取得します。
 FeatureAttributeQueries.AttributeQuery removeQuery(int index)
          指定した番号の条件を削除します。
 boolean removeQuery(java.lang.String key, java.lang.String kigo, java.lang.Object value, boolean isMatchPart, boolean isAnd)
          指定した条件を削除します。
 int size()
          条件数を取得します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

FeatureAttributeQueries

public FeatureAttributeQueries()
コンストラクタです。 特に処理はありません。

メソッドの詳細

addEqualQuery

public void addEqualQuery(java.lang.String key,
                          java.lang.Object value)
「イコール」条件を追加します。 完全一致且つ、AND条件となります。

<SQLイメージ>
AND XXX = YYY

パラメータ:
key - 主題属性名
value - 比較値

addEqualQuery

public void addEqualQuery(java.lang.String key,
                          java.lang.Object value,
                          boolean isMatchPart,
                          boolean isAnd)
「イコール」条件を追加します。

パラメータ:
key - 主題属性名
value - 比較値
isMatchPart - 部分一致フラグ(true:部分一致、false:完全一致
isAnd - AND条件フラグ(true:AND条件、false:OR条件)

addNotEqualQuery

public void addNotEqualQuery(java.lang.String key,
                             java.lang.Object value)
「不一致」条件を追加します。
AND条件となります。

パラメータ:
key - 主題属性名
value - 比較値

addNotEqualQuery

public void addNotEqualQuery(java.lang.String key,
                             java.lang.Object value,
                             boolean isAnd)
「不一致」条件を追加します。

パラメータ:
key - 主題属性名
value - 比較値
isAnd - AND条件フラグ(true:AND条件、false:OR条件)

addIsNullQuery

public void addIsNullQuery(java.lang.String key)
「IS NULL」条件を追加します。 AND条件となります。

パラメータ:
key - 主題属性名

addIsNullQuery

public void addIsNullQuery(java.lang.String key,
                           boolean isAnd)
「IS NULL」条件を追加します。

パラメータ:
key - 主題属性名
isAnd - AND条件フラグ(true:AND条件、false:OR条件)

addIsNotNullQuery

public void addIsNotNullQuery(java.lang.String key)
「IS NOT NULL」条件を追加します。 AND条件となります。

パラメータ:
key - 主題属性名

addIsNotNullQuery

public void addIsNotNullQuery(java.lang.String key,
                              boolean isAnd)
「IS NOT NULL」条件を追加します。

パラメータ:
key - 主題属性名
isAnd - AND条件フラグ(true:AND条件、false:OR条件)

addGreatorThanQuery

public void addGreatorThanQuery(java.lang.String key,
                                java.lang.Object value)
「以上」条件を追加します。 完全一致且つ、AND条件となります。

<SQLイメージ>
AND XXX = YYY

パラメータ:
key - 主題属性名
value - 比較値

addGreatorThanQuery

public void addGreatorThanQuery(java.lang.String key,
                                java.lang.Object value,
                                boolean isAnd)
「以上」条件を追加します。

パラメータ:
key - 主題属性名
value - 比較値
isAnd - AND条件フラグ(true:AND条件、false:OR条件)

addGreatorQuery

public void addGreatorQuery(java.lang.String key,
                            java.lang.Object value)
「より大きい」条件を追加します。 完全一致且つ、AND条件となります。

<SQLイメージ>
AND XXX = YYY

パラメータ:
key - 主題属性名
value - 比較値

addGreatorQuery

public void addGreatorQuery(java.lang.String key,
                            java.lang.Object value,
                            boolean isAnd)
「より大きい」条件を追加します。

パラメータ:
key - 主題属性名
value - 比較値
isAnd - AND条件フラグ(true:AND条件、false:OR条件)

addLessThanQuery

public void addLessThanQuery(java.lang.String key,
                             java.lang.Object value)
「以下」条件を追加します。 完全一致且つ、AND条件となります。

<SQLイメージ>
AND XXX = YYY

パラメータ:
key - 主題属性名
value - 比較値

addLessThanQuery

public void addLessThanQuery(java.lang.String key,
                             java.lang.Object value,
                             boolean isAnd)
「以下」条件を追加します。

パラメータ:
key - 主題属性名
value - 比較値
isAnd - AND条件フラグ(true:AND条件、false:OR条件)

addLessQuery

public void addLessQuery(java.lang.String key,
                         java.lang.Object value)
「より小さい」条件を追加します。 完全一致且つ、AND条件となります。

<SQLイメージ>
AND XXX = YYY

パラメータ:
key - 主題属性名
value - 比較値

addLessQuery

public void addLessQuery(java.lang.String key,
                         java.lang.Object value,
                         boolean isAnd)
「より小さい」条件を追加します。

パラメータ:
key - 主題属性名
value - 比較値
isAnd - AND条件フラグ(true:AND条件、false:OR条件)

addQuery

public void addQuery(java.lang.String stringQuery,
                     boolean isMatchPart,
                     boolean isAnd)
<<本メソッドはユーザ非公開のメソッドです。>>
検索条件を指定する場合は、他のaddXXXXQueryメソッドを利用してください。 過去指定方法に準じた、検索条件を追加します。
「XXXX==YYYY」等の文字列を指定することで検索条件を指定します。 指定可能な文字列パターンは以下の通り。
「主題属性名」+「比較記号」+「比較値」
「比較記号」に指定可能な記号は「=」「>」「>=」「<」「<=」の5種類です。

パラメータ:
stringQuery - 検索条件文字列
isMatchPart - 部分一致フラグ(true:部分一致、false:完全一致
isAnd - AND条件フラグ(true:AND条件、false:OR条件)

size

public int size()
条件数を取得します。

戻り値:
条件数

getQuery

public FeatureAttributeQueries.AttributeQuery getQuery(int index)
指定した番号の条件を取得します。

パラメータ:
index - 番号
戻り値:
条件

removeQuery

public boolean removeQuery(java.lang.String key,
                           java.lang.String kigo,
                           java.lang.Object value,
                           boolean isMatchPart,
                           boolean isAnd)
指定した条件を削除します。

パラメータ:
key - 主題属性名
kigo - 比較記号
value - 比較値
isMatchPart - 部分一致フラグ(trueの場合、部分一致)
isAnd - AND条件フラグ(trueの場合、AND条件)
戻り値:
削除結果(trueの場合、削除。falseの場合は、未削除)

removeQuery

public FeatureAttributeQueries.AttributeQuery removeQuery(int index)
指定した番号の条件を削除します。

パラメータ:
index - 番号
戻り値:
削除した条件(削除されなかった場合は、null)

clear

public void clear()
追加された条件全てを破棄します。