|
Oracle® Coherence Java API Reference Release 3.6.0.0 E15725-01 |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
com.tangosol.util.QueryHelper
public class QueryHelper
QueryHelper is a utility class that provides a set of factory methods used for building instances of Filter
or ValueExtractor
.
The QueryHelper API accepts a String that specifies the creation of rich Filters in a format similar to SQL WHERE
clauses. For example, the String "street = 'Main' and state = 'TX'"
will create a tree of Filters similar to the following Java code:
new AndFilter(
new EqualsFilter("getStreet","Main"),
new EqualsFilter("getState","TX"));
The following keywords are curently supported (words between brackets are optional):
=, >, >=, <, <=, <>, [ NOT ] BETWEEN, [ NOT ] LIKE, [ NOT ] IN, IS [ NOT ] NULL , CONTAINS [ ALL | ANY ]
(AND, OR, NOT)
true, false
, and null
Each argument to an operator is converted into a ReflectionExtractor
. Additionally, the "."
operator will use ChainedExtractor
. Pseudo functions key()
and value()
may be used to specify the use of a key as in "key() between 10 and 50"
. The value()
pseudo function is a shorthand for IdentityExtractor
.
Query bind variables are supported in two forms. One form is a "?"
followed by a position number; for example: "dept = ?1 and serviceCode in [10,20,30]"
. For this usage, supply an Object array of parameters to createFilter(String, Object[])
. Note: this scheme treats 1 as the starting index into the array.
Additionally, named bind parameters are supported. The above example could be: "dept = :deptNum and serviceCode in :myList"
. This style requires the use of a Map with createFilter(String, Map)
. Both forms can be used in the same specification.
The factory methods catch a number of Exceptions from the implementation stages and subsequently may throw an unchecked FilterBuildingException
.
Constructor Summary | |
---|---|
QueryHelper() |
Method Summary | |
---|---|
static ValueExtractor |
createExtractor(String s) Make a new ValueExtracter from the given String. |
static Filter |
createFilter(String s) Make a new Filter from the given String. |
static Filter |
createFilter(String s, Map mapBindings) Make a new Filter from the given String. |
static Filter |
createFilter(String s, Object[] aBindings) Make a new Filter from the given String. |
static Filter |
createFilter(String s, Object[] aBindings, Map mapBindings) Make a new Filter from the given String. |
Constructor Detail |
---|
public QueryHelper()
Method Detail |
---|
public static Filter createFilter(String s)
s
- a String in the Coherence Query Language representing a FilterFilterBuildingException
- may be thrownpublic static Filter createFilter(String s, Object[] aBindings)
s
- a String in the Coherence Query Language representing a FilteraBindings
- the array of Objects to use for Bind varsFilterBuildingException
- may be thrownpublic static Filter createFilter(String s, Map mapBindings)
s
- a String in the Coherence Query Language representing a FiltermapBindings
- the Map of Objects to use for Bind varsFilterBuildingException
- may be thrownpublic static Filter createFilter(String s, Object[] aBindings, Map mapBindings)
s
- a String in the Coherence Query Language representing a FilteraBindings
- the array of Objects to use for Bind varsmapBindings
- the Map of Objects to use for Bind varsFilterBuildingException
- may be thrownpublic static ValueExtractor createExtractor(String s)
s
- a String in the Coherence Query Language representing a ValueExtractorFilterBuildingException
- may be thrown
|
Oracle® Coherence Java API Reference Release 3.6.0.0 E15725-01 |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |