public class NbClause
extends java.lang.Object
NbQuery
の検索条件として使用する。
MongoDB のクエリ演算子と機能的にほぼ等価。
各APIのObject型の引数に対してプリミティブ型の配列を指定した場合は例外が発生する。
// AND条件は連結記述が可能
NbClause clause = new NbClause().equals("key1", "xyz").greaterThan("key2", 100);
NbQuery query = new NbQuery().setClause(clause);
使用例2:
// OR 条件の場合
NbClause clause = new NbClause().or(
new NbClause().equals("key1", "xyz"),
new NbClause().greaterThan("key2", 100),
new NbClause().in("key3", "A", "B", "C");
);
NbQuery query = new NbQuery().setClause(clause);
本クラスのインスタンスはスレッドセーフではない。
修飾子とタイプ | フィールドと説明 |
---|---|
static int |
DOT_MATCH_NEWLINE
正規表現の "."
|
static int |
EXTENDED
拡張正規表現を使用する。
|
static int |
IGNORE_CASE
大文字と小文字を区別しない。
|
static int |
MULTILINE
文字列を複数行として扱う。
|
コンストラクタと説明 |
---|
NbClause()
コンストラクタ
|
修飾子とタイプ | メソッドと説明 |
---|---|
NbClause |
all(java.lang.String key,
java.lang.Object... values)
keyで指定されたフィールドの値が、valuesで指定された値の全てと一致すること。
|
NbClause |
and(NbClause... clauses)
引数で与えられた検索条件と保持している検索条件でandをとる。
|
boolean |
equals(java.lang.Object obj) |
NbClause |
equals(java.lang.String key,
java.lang.Object value)
keyで指定されたフィールドの値が、valueで指定された値と等しいこと。
|
NbClause |
exists(java.lang.String key)
keyで指定されたフィールドの値が存在すること。
|
NbClause |
exists(java.lang.String key,
java.lang.Boolean isExist)
非推奨です。
exists(String) で置き換え |
static NbClause |
fromJSONObject(NbJSONObject conditions)
MongoDB クエリ同等の JSONオブジェクトから NbClause を生成する
|
static NbClause |
fromJSONString(java.lang.String jsonString)
MongoDB クエリ同等のJSON文字列から NbClause を生成する
|
NbJSONObject |
getConditions() |
NbClause |
greaterThan(java.lang.String key,
java.lang.Object value)
keyで指定されたフィールドの値が、valueで指定された値より大きいこと。
|
NbClause |
greaterThanOrEqual(java.lang.String key,
java.lang.Object value)
keyで指定されたフィールドの値が、valueで指定された値以上であること。
|
NbClause |
in(java.lang.String key,
java.lang.Object... values)
keyで指定されたフィールドの値が、valuesで指定された値の何れかと一致すること。
|
NbClause |
lessThan(java.lang.String key,
java.lang.Object value)
keyで指定されたフィールドの値が、valueで指定された値より小さいこと。
|
NbClause |
lessThanOrEqual(java.lang.String key,
java.lang.Object value)
keyで指定されたフィールドの値が、valueで指定された値以下であること。
|
NbClause |
not()
非推奨です。
not(String) で置き換え。 |
NbClause |
not(java.lang.String key)
指定したキーの条件を反転($not)する
|
NbClause |
notEqual(java.lang.String key,
java.lang.Object value)
keyで指定されたフィールドの値が、valueで指定された値と等しくないこと。
|
NbClause |
notExist(java.lang.String key)
keyで指定されたフィールドの値が存在しないこと。
|
NbClause |
or(NbClause... clauses)
引数で与えられた検索条件と保持している検索条件でorをとる。
|
NbClause |
regex(java.lang.String key,
java.lang.String expression,
int option)
keyで指定されたフィールドの値が正規表現で与えられた表記と一致すること。
|
NbJSONObject |
toJSONObject()
NbJSONObject 形式のクエリを返却する。
|
public static final int IGNORE_CASE
public static final int MULTILINE
public static final int EXTENDED
public static final int DOT_MATCH_NEWLINE
public static NbClause fromJSONObject(NbJSONObject conditions)
conditions
- JSONオブジェクトpublic static NbClause fromJSONString(java.lang.String jsonString)
jsonString
- JSON文字列public NbJSONObject toJSONObject()
public boolean equals(java.lang.Object obj)
equals
クラス内 java.lang.Object
public NbClause equals(java.lang.String key, java.lang.Object value)
key
- 演算対象のフィールドvalue
- 閾値。public NbClause notEqual(java.lang.String key, java.lang.Object value)
key
- 演算対象のフィールドvalue
- 閾値。public NbClause lessThan(java.lang.String key, java.lang.Object value)
key
- 演算対象のフィールドvalue
- 閾値。public NbClause lessThanOrEqual(java.lang.String key, java.lang.Object value)
key
- 演算対象のフィールドvalue
- 閾値。public NbClause greaterThan(java.lang.String key, java.lang.Object value)
key
- 演算対象のフィールドvalue
- 閾値。public NbClause greaterThanOrEqual(java.lang.String key, java.lang.Object value)
key
- 演算対象のフィールドvalue
- 閾値。public NbClause in(java.lang.String key, java.lang.Object... values)
key
- 演算対象のフィールドvalues
- 比較する値のリスト。public NbClause all(java.lang.String key, java.lang.Object... values)
key
- 演算対象のフィールドvalues
- 比較する値のリスト。@Deprecated public NbClause exists(java.lang.String key, java.lang.Boolean isExist)
exists(String)
で置き換えkey
- 演算対象のフィールドisExist
- trueの場合存在すること、falseの場合存在しないこと。public NbClause exists(java.lang.String key)
key
- 演算対象のフィールドpublic NbClause notExist(java.lang.String key)
key
- 演算対象のフィールドpublic NbClause regex(java.lang.String key, java.lang.String expression, int option)
key
- 演算対象のフィールドexpression
- 正規表現option
- オプションIGNORE_CASE
,
MULTILINE
,
EXTENDED
,
DOT_MATCH_NEWLINE
public NbClause and(NbClause... clauses)
clauses
- 結合する検索条件@Deprecated public NbClause not()
not(String)
で置き換え。public NbClause not(java.lang.String key)
key
- キーpublic NbJSONObject getConditions()