public abstract class Filter
extends java.lang.Object
Example:
Devices activated in the last hour that implement a "com:acme:device" device model.
The following code:
f = Filter.and(
Filter.gte(Device.Field.CREATED.alias(),
(System.currentTimeMillis() - 3600000L)),
Filter.eq(Device.Field.STATE.alias(), "ACTIVATED"),
Filter.like(Device.Field.DEVICE_MODELS.alias() + ".urn",
"urn:com:acme:device:%"));
will create the following JSON object:
{"$and":[
{"created":{"$gte":1457137772894}},
{"state":{"$eq":"ACTIVATED"}},
{"deviceModels.urn":{"$like":"urn:com:acme:device:%"}}]}
Constructor and Description |
---|
Filter() |
Modifier and Type | Method and Description |
---|---|
static Filter |
and(Filter... filters)
Creates a query filter that performs the logical AND between sub filters provided as argument: (filter1 and filter2 and ...).
|
static Filter |
eq(java.lang.String op1,
boolean op2)
Creates a query filter that performs (op1 == op2).
|
static Filter |
eq(java.lang.String op1,
double op2)
Creates a query filter that performs (op1 == op2).
|
static Filter |
eq(java.lang.String op1,
long op2)
Creates a query filter that performs (op1 == op2).
|
static Filter |
eq(java.lang.String op1,
java.lang.String op2)
Creates a query filter that performs (op1 == op2).
|
static Filter |
exists(java.lang.String op1,
boolean e)
Creates a query filter that checks if op1 exists
|
static Filter |
gt(java.lang.String op1,
double op2)
Creates a query filter that performs(op1 > op2).
|
static Filter |
gt(java.lang.String op1,
long op2)
Creates a query filter that performs(op1 > op2).
|
static Filter |
gte(java.lang.String op1,
double op2)
Creates a query filter that performs(op1 >= op2).
|
static Filter |
gte(java.lang.String op1,
long op2)
Creates a query filter that performs(op1 >= op2).
|
static Filter |
in(java.lang.String key,
boolean[] values)
Creates a query filter that performs (key IN [value1, value2, ...])
|
static Filter |
in(java.lang.String key,
double[] values)
Creates a query filter that performs (key IN [value1, value2, ...])
|
static Filter |
in(java.lang.String key,
long[] values)
Creates a query filter that performs (key IN [value1, value2, ...])
|
static Filter |
in(java.lang.String key,
java.lang.String[] values)
Creates a query filter that performs (key IN [value1, value2, ...])
|
static Filter |
like(java.lang.String value,
java.lang.String pattern)
Creates a query filter that checks if the value matches the pattern
|
static Filter |
lt(java.lang.String op1,
double op2)
Creates a query filter that performs (op1 < op2).
|
static Filter |
lt(java.lang.String op1,
long op2)
Creates a query filter that performs (op1 < op2).
|
static Filter |
lte(java.lang.String op1,
double op2)
Creates a query filter that performs(op1 <= op2).
|
static Filter |
lte(java.lang.String op1,
long op2)
Creates a query filter that performs(op1 <= op2).
|
static Filter |
ne(java.lang.String op1,
boolean op2)
Creates a query filter that performs (op1 != op2).
|
static Filter |
ne(java.lang.String op1,
double op2)
Creates a query filter that performs (op1 != op2).
|
static Filter |
ne(java.lang.String op1,
long op2)
Creates a query filter that performs (op1 != op2).
|
static Filter |
ne(java.lang.String op1,
java.lang.String op2)
Creates a query filter that performs (op1 != op2).
|
static Filter |
not(Filter filter)
Creates a query filter that performs the logical NOT on the filter provided as argument: (not filter).
|
static Filter |
or(Filter... filters)
Creates a query filter that performs the logical OR between sub filters provided as argument: (filter1 or filter2 or ...).
|
abstract org.json.JSONObject |
toJson()
Return the JSONObject for this query filter.
|
public static Filter and(Filter... filters)
filters
- sub filters to combinepublic static Filter or(Filter... filters)
filters
- sub filters to combinepublic static Filter not(Filter filter)
filter
- on which to apply the NOTpublic static Filter eq(java.lang.String op1, java.lang.String op2)
op1
- first operandop2
- second operandpublic static Filter eq(java.lang.String op1, long op2)
op1
- first operandop2
- second operandpublic static Filter eq(java.lang.String op1, double op2)
op1
- first operandop2
- second operandpublic static Filter eq(java.lang.String op1, boolean op2)
op1
- first operandop2
- second operandpublic static Filter gt(java.lang.String op1, long op2)
op1
- first operandop2
- second operandpublic static Filter gt(java.lang.String op1, double op2)
op1
- first operandop2
- second operandpublic static Filter gte(java.lang.String op1, long op2)
op1
- first operandop2
- second operandpublic static Filter gte(java.lang.String op1, double op2)
op1
- first operandop2
- second operandpublic static Filter lt(java.lang.String op1, long op2)
op1
- first operandop2
- second operandpublic static Filter lt(java.lang.String op1, double op2)
op1
- first operandop2
- second operandpublic static Filter lte(java.lang.String op1, long op2)
op1
- first operandop2
- second operandpublic static Filter lte(java.lang.String op1, double op2)
op1
- first operandop2
- second operandpublic static Filter ne(java.lang.String op1, java.lang.String op2)
op1
- first operandop2
- second operandpublic static Filter ne(java.lang.String op1, long op2)
op1
- first operandop2
- second operandpublic static Filter ne(java.lang.String op1, double op2)
op1
- first operandop2
- second operandpublic static Filter ne(java.lang.String op1, boolean op2)
op1
- first operandop2
- second operandpublic static Filter in(java.lang.String key, java.lang.String[] values)
key
- the key to checkvalues
- the list of values to compare withpublic static Filter in(java.lang.String key, long[] values)
key
- the key to checkvalues
- the list of values to compare withpublic static Filter in(java.lang.String key, double[] values)
key
- the key to checkvalues
- the list of values to compare withpublic static Filter in(java.lang.String key, boolean[] values)
key
- the key to checkvalues
- the list of values to compare withpublic static Filter exists(java.lang.String op1, boolean e)
op1
- first operande
- either {true} to check that exists, or false
to check that not existspublic static Filter like(java.lang.String value, java.lang.String pattern)
value
- the value to checkpattern
- the pattern to matchpublic abstract org.json.JSONObject toJson()