Class ECQL

Object
ECQL

public class ECQL extends Object
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 Details

    • toFilter

      public static Filter toFilter(String ecqlPredicate) throws CQLException
      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 Filter equivalent to the constraint specified in ecqlPredicate .
      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 - the FilterFactory to use for the creation of the Filter. If it is null the method finds the default implementation.
      Returns:
      a Filter equivalent to the constraint specified in Predicate.
      Throws:
      CQLException
    • toExpression

      public static Expression toExpression(String ecqlExpression) throws CQLException
      Parses the input string in ECQL format into an Expression, using the systems default FilterFactory implementation.
      Parameters:
      ecqlExpression - a string containing an ECQL expression.
      Returns:
      a Expression equivalent to the one specified in ecqlExpression.
      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 - the FilterFactory to use for the creation of the Expression. If it is null the method finds the default implementation.
      Returns:
      a Filter equivalent to the constraint specified in ecqlExpression .
      Throws:
      CQLException
    • toFilterList

      public static List<Filter> toFilterList(String ecqlSequencePredicate) throws CQLException
      Parses the input string, which has to be a list of ECQL predicates separated by "; " into a List of Filter, 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 a List of Filter, using the provided FilterFactory.
      Parameters:
      ecqlSequencePredicate - a ECQL predicate sequence
      filterFactory - the factory used to make the filters
      Returns:
      a List of Filter, one for each input ECQL statement
      Throws:
      CQLException
    • toCQL

      public static String toCQL(List<Filter> filterList)
      Generates the ecql predicates associated to the List of Filters object.
      Returns:
      ecql predicates separated by ";"
    • toCQL

      public static String toCQL(Filter filter)
      Generates the ecql predicate associated to the Filter object.
      Returns:
      ecql predicate
    • isEwktEncodingEnabled

      public static boolean isEwktEncodingEnabled()
      Convenience method checking if EWKT encoding should be enabled in ECQL, or not
    • toCQL

      public static String toCQL(Expression expression)
      Generates the expression text associated to the Expression object.
      Returns:
      expression as text
    • main

      public static final void main(String[] args)
      Command line expression tester used to try out filters and expressions.