Package org.geotools.filter.text.ecql
Class ECQL
Object
ECQL
Extended Contextual Query Language (ECQL) is an extension of CQL. This class presents the operations
available to parse the ECQL language and generates the correspondent filter.
Usage
Here are some usage examples. Refer to the BNF of grammar to see what exactly you can do.
Filter filter = ECQL.toFilter("POP_RANK > 6");
Filter filter = ECQL.toFilter("POP_RANK > 3 AND POP_RANK < 6");
Filter filter = ECQL.toFilter("area(the_geom) > 3000");
Filter filter = ECQL.toFilter("Name LIKE '%omer%'");
Filter filter = ECQL.toFilter("RELATE( the_geom1,the_geom2) like 'T**F*****'");
Filter filter = ECQL.toFilter("DISJOINT(buffer(the_geom, 10) , POINT(1 2))");
Filter filter = ECQL.toFilter("IN ('river.1', 'river.2')");
Filter filter = ECQL.toFilter("LENGTH IN (4100001,4100002, 4100003 )");
List <Filter> list = ECQL.toFilterList("LENGTH = 100; NAME like '%omer%'");
Expression expression = ECQL.toExpression("LENGTH + 100");
The reverse process is possible too. To generate the ECQL associated to a filter you should use the toCQL(...)
methods.- Since:
- 2.6
- Author:
- Jody Garnett, Mauricio Pazos (Axios Engineering)
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleanConvenience method checking if EWKT encoding should be enabled in ECQL, or notstatic final voidCommand line expression tester used to try out filters and expressions.static Stringstatic StringtoCQL(Expression expression) Generates the expression text associated to theExpressionobject.static StringGenerates the ecql predicate associated to theFilterobject.static ExpressiontoExpression(String ecqlExpression) Parses the input string in ECQL format into an Expression, using the systems defaultFilterFactoryimplementation.static ExpressiontoExpression(String ecqlExpression, FilterFactory filterFactory) Parses the input string in ECQL format and makes the correspondent Expression , using the provided FilterFactory.static FilterParses the input string in ECQL format into a Filter, using the systems default FilterFactory implementation.static FiltertoFilter(String ecqlPredicate, FilterFactory filterFactory) Parses the input string in ECQL format into a Filter, using the provided FilterFactory.toFilterList(String ecqlSequencePredicate) toFilterList(String ecqlSequencePredicate, FilterFactory filterFactory)
-
Method Details
-
toFilter
Parses the input string in ECQL format into a Filter, using the systems default FilterFactory implementation.- Parameters:
ecqlPredicate- a string containing a query predicate in ECQL format.- Returns:
- a
Filterequivalent to the constraint specified inecqlPredicate. - Throws:
CQLException
-
toFilter
public static Filter toFilter(String ecqlPredicate, FilterFactory filterFactory) throws CQLException Parses the input string in ECQL format into a Filter, using the provided FilterFactory.- Parameters:
ecqlPredicate- a string containing a query predicate in ECQL format.filterFactory- theFilterFactoryto use for the creation of the Filter. If it is null the method finds the default implementation.- Returns:
- a
Filterequivalent to the constraint specified inPredicate. - Throws:
CQLException
-
toExpression
Parses the input string in ECQL format into an Expression, using the systems defaultFilterFactoryimplementation.- Parameters:
ecqlExpression- a string containing an ECQL expression.- Returns:
- a
Expressionequivalent to the one specified inecqlExpression. - Throws:
CQLException
-
toExpression
public static Expression toExpression(String ecqlExpression, FilterFactory filterFactory) throws CQLException Parses the input string in ECQL format and makes the correspondent Expression , using the provided FilterFactory.- Parameters:
ecqlExpression- a string containing a ECQL expression.filterFactory- theFilterFactoryto use for the creation of the Expression. If it is null the method finds the default implementation.- Returns:
- a
Filterequivalent to the constraint specified inecqlExpression. - Throws:
CQLException
-
toFilterList
Parses the input string, which has to be a list of ECQL predicates separated by ";" into aListofFilter, using the provided FilterFactory.- Parameters:
ecqlSequencePredicate- a list of ECQL predicates separated by ";"- Returns:
- a List of
Filter, one for each input ECQL statement - Throws:
CQLException
-
toFilterList
public static List<Filter> toFilterList(String ecqlSequencePredicate, FilterFactory filterFactory) throws CQLException Parses the input string, which has to be a list of ECQL predicates separated by ";" into aListofFilter, using the provided FilterFactory.- Parameters:
ecqlSequencePredicate- a ECQL predicate sequencefilterFactory- the factory used to make the filters- Returns:
- a List of
Filter, one for each input ECQL statement - Throws:
CQLException
-
toCQL
- Returns:
- ecql predicates separated by ";"
-
toCQL
Generates the ecql predicate associated to theFilterobject.- Returns:
- ecql predicate
-
isEwktEncodingEnabled
public static boolean isEwktEncodingEnabled()Convenience method checking if EWKT encoding should be enabled in ECQL, or not -
toCQL
Generates the expression text associated to theExpressionobject.- Returns:
- expression as text
-
main
Command line expression tester used to try out filters and expressions.
-