org.geotools.filter.text.cql2
Class CQLCompiler

java.lang.Object
  extended by org.geotools.filter.text.generated.parsers.CQLParser
      extended by org.geotools.filter.text.cql2.CQLCompiler
All Implemented Interfaces:
ICompiler, org.geotools.filter.text.generated.parsers.CQLParserConstants, org.geotools.filter.text.generated.parsers.CQLParserTreeConstants

public class CQLCompiler
extends org.geotools.filter.text.generated.parsers.CQLParser
implements ICompiler

CQL Compiler. This class extend the CQLParser generated by javacc with semantic actions.

The "build..." methods implement that semantic actions making a filter for each syntax rules recognized.

Warning: This component is not published. It is part of module implementation. Client module should not use this feature.

TODO This module should use the new geometry API, more info in http://docs.codehaus.org/display/GEOTOOLS/GeomeryFactoryFinder+Proposal

Since:
2.5
Version:
$Id: CQLCompiler.java 34180 2009-10-21 09:05:04Z mpazos $
Author:
Mauricio Pazos (Axios Engineering)

Field Summary
 
Fields inherited from class org.geotools.filter.text.generated.parsers.CQLParser
GEOOP, GEOOP_DEPRECATED, jj_nt, jjtree, RELGEOOP, token, token_source
 
Fields inherited from interface org.geotools.filter.text.generated.parsers.CQLParserTreeConstants
JJTADDNODE, JJTBETWEEN_NODE, JJTBOOLEAN_AND_NODE, JJTBOOLEAN_NOT_NODE, JJTBOOLEAN_OR_NODE, JJTCOMPARISSONPREDICATE_EQ_NODE, JJTCOMPARISSONPREDICATE_GT_NODE, JJTCOMPARISSONPREDICATE_GTE_NODE, JJTCOMPARISSONPREDICATE_LT_NODE, JJTCOMPARISSONPREDICATE_LTE_NODE, JJTCOMPARISSONPREDICATE_NOT_EQUAL_NODE, JJTCOMPOUND_ATTRIBUTE_NODE, JJTDATETIME_NODE, JJTDISTANCEUNITS_NODE, JJTDIVNODE, JJTDURATION_DATE_NODE, JJTENVELOPETAGGEDTEXT_NODE, JJTEXCLUDE_NODE, JJTEXISTENCE_PREDICATE_DOESNOTEXIST_NODE, JJTEXISTENCE_PREDICATE_EXISTS_NODE, JJTFALSENODE, JJTFLOATINGNODE, JJTFUNCTION_NODE, JJTFUNCTIONARG_NODE, JJTFUNCTIONNAME_NODE, JJTIDENTIFIER_NODE, JJTIDENTIFIER_PART_NODE, JJTINCLUDE_NODE, JJTINTEGERNODE, JJTLIKE_NODE, JJTMULNODE, jjtNodeName, JJTNOT_BETWEEN_NODE, JJTNOT_LIKE_NODE, JJTNOTNULLPREDICATENODE, JJTNULLPREDICATENODE, JJTPERIOD_BETWEEN_DATES_NODE, JJTPERIOD_WITH_DATE_DURATION_NODE, JJTPERIOD_WITH_DURATION_DATE_NODE, JJTROUTINEINVOCATION_GEOOP_BBOX_NODE, JJTROUTINEINVOCATION_GEOOP_BBOX_SRS_NODE, JJTROUTINEINVOCATION_GEOOP_CONTAIN_NODE, JJTROUTINEINVOCATION_GEOOP_CROSS_NODE, JJTROUTINEINVOCATION_GEOOP_DISJOINT_NODE, JJTROUTINEINVOCATION_GEOOP_EQUAL_NODE, JJTROUTINEINVOCATION_GEOOP_INTERSECT_NODE, JJTROUTINEINVOCATION_GEOOP_OVERLAP_NODE, JJTROUTINEINVOCATION_GEOOP_RELATE_NODE, JJTROUTINEINVOCATION_GEOOP_TOUCH_NODE, JJTROUTINEINVOCATION_GEOOP_WITHIN_NODE, JJTROUTINEINVOCATION_RELOP_BEYOND_NODE, JJTROUTINEINVOCATION_RELOP_DWITHIN_NODE, JJTSIMPLE_ATTRIBUTE_NODE, JJTSTRINGNODE, JJTSUBTRACTNODE, JJTTOLERANCE_NODE, JJTTPAFTER_DATETIME_NODE, JJTTPBEFORE_DATETIME_NODE, JJTTPBEFORE_OR_DURING_PERIOD_NODE, JJTTPDURING_OR_AFTER_PERIOD_NODE, JJTTPDURING_PERIOD_NODE, JJTTRUENODE, JJTVOID, JJTWKTNODE
 
Fields inherited from interface org.geotools.filter.text.generated.parsers.CQLParserConstants
AFTER, AND, BBOX, BEFORE, BETWEEN, BEYOND, COLON, COMMA, CONTAINS, CROSSES, DATE_TIME, DEFAULT, DIGIT, DISJOINT, DOES_NOT_EXIST, DUR_DATE, DUR_DAY, DUR_HOUR, DUR_MINUTE, DUR_MONTH, DUR_SECOND, DUR_TIME, DUR_YEAR, DURATION, DURING, DWITHIN, ENVELOPE, EOF, EQ, EQUALS, EXCLUDE, EXISTS, EXPONENT, FALSE, FEET, FLOATING_LITERAL, FULL_DATE, GEOMETRYCOLLECTION, GT, GTE, IDENTIFIER, INCLUDE, INTEGER_LITERAL, INTERSECTS, IS, KILOMETERS, LETTER, LIKE, LINESTRING, LP, LSP, LT, LTE, METERS, MINUS, MULT, MULTILINESTRING, MULTIPOINT, MULTIPOLYGON, NAUTICAL_MILES, NEQ, NOT, NULL, OR, OVERLAPS, PERIOD, PLUS, POINT, POLYGON, RELATE, RP, RSP, SENTENCE_SEPARATOR, SLASH, STATUTE_MILES, STRING_LITERAL, tokenImage, TOUCHES, TRUE, UNKNOWN, UTC, UTC_TIME, WITHIN
 
Constructor Summary
CQLCompiler(java.lang.String cqlSource, org.opengis.filter.FilterFactory filterFactory)
          new instance of CQL Compiler
 
Method Summary
 void compileExpression()
          compile source to produce a Expression
 void compileFilter()
          compile source to produce a Filter.
 void compileFilterList()
          Compiles the source string to produce a List of Filter.
 org.opengis.filter.expression.Expression getExpression()
          Return the expression resultant of compiling process
 org.opengis.filter.Filter getFilter()
          Return the filter resultant of compiling process
 java.util.List<org.opengis.filter.Filter> getFilterList()
          Returns the list of Filters built as the result of calling #MultipleCompilationUnit()
 java.lang.String getSource()
           
 IToken getTokenInPosition(int index)
          Return the token presents in the position specified.
 void jjtreeCloseNodeScope(org.geotools.filter.text.generated.parsers.Node n)
           
 void jjtreeOpenNodeScope(org.geotools.filter.text.generated.parsers.Node n)
           
static void main(java.lang.String[] args)
          On line cql interpreter
 
Methods inherited from class org.geotools.filter.text.generated.parsers.CQLParser
Attribute, AttributeTail, BBoxArgumentList, BetweenPredicate, BinaryExpression, BooleanFactor, BooleanLiteral, BooleanPrimary, BooleanTerm, BooleanValueExpression, CharacterPattern, ComparissonPredicate, DateTime, DateTimeExpression, disable_tracing, DistanceUnits, Duration, enable_tracing, EnvelopeTaggedText, EnvelopText, Evaluate, ExistencePredicate, Expression, ExpressionCompilationUnit, FilterCompilationUnit, FilterListCompilationUnit, FloatingLiteral, Function, FunctionArg, FunctionName, GeneralLiteral, generateParseException, GeometryCollectionTaggedText, GeometryCollectionText, GeometryLiteral, GeoRoutineArgumentList, getNextToken, getToken, Identifier, IdentifierPart, IncludeExcludePredicate, IntegerLiteral, isGeoOp, isRelGeoOp, LineStringTaggedText, LineStringText, Literal, MultiLineStringTaggedText, MultiLineStringText, MultiplicativeExpression, MultiPointTaggedText, MultiPointText, MultiPolygonTaggedText, MultiPolygonText, NullPredicate, NumericLiteral, Period, PeriodTail, Point, PointTaggedText, PointText, PolygonTaggedText, PolygonText, Predicate, ReInit, ReInit, ReInit, ReInit, RelGeoRoutineArgumentList, RoutineInvocation, RoutineInvocationGeneric, RoutineInvocationGeoOp, RoutineInvocationRelGeoOp, SearchCondition, SequenceOfSearchConditions, SignedNumericLiteral, SimpleAttributeName, StringLiteral, TemporalPredicate, TemporalPredicateAfter, TemporalPredicateBefore, TemporalPredicateDuring, TextPredicate, Tolerance, UnaryExpression, UnsignedNumericLiteral, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CQLCompiler

public CQLCompiler(java.lang.String cqlSource,
                   org.opengis.filter.FilterFactory filterFactory)
new instance of CQL Compiler

Parameters:
cqlSource -
filterFactory -
Method Detail

compileFilter

public void compileFilter()
                   throws CQLException
compile source to produce a Filter. The filter result must be retrieved with getFilter().

Specified by:
compileFilter in interface ICompiler
Throws:
CQLException

compileExpression

public void compileExpression()
                       throws CQLException
compile source to produce a Expression

Specified by:
compileExpression in interface ICompiler
Throws:
CQLException

compileFilterList

public void compileFilterList()
                       throws CQLException
Description copied from interface: ICompiler
Compiles the source string to produce a List of Filter. The result must be retrieved with ICompiler.getFilterList()().

Specified by:
compileFilterList in interface ICompiler
Throws:
CQLException

getSource

public final java.lang.String getSource()
Specified by:
getSource in interface ICompiler
Returns:
the cql source

getFilter

public final org.opengis.filter.Filter getFilter()
                                          throws CQLException
Return the filter resultant of compiling process

Specified by:
getFilter in interface ICompiler
Returns:
Filter
Throws:
CQLException
See Also:
ICompiler.compileFilter()

getExpression

public final org.opengis.filter.expression.Expression getExpression()
                                                             throws CQLException
Return the expression resultant of compiling process

Specified by:
getExpression in interface ICompiler
Returns:
Expression
Throws:
CQLException
See Also:
ICompiler.compileExpression()

getFilterList

public final java.util.List<org.opengis.filter.Filter> getFilterList()
                                                              throws CQLException
Returns the list of Filters built as the result of calling #MultipleCompilationUnit()

Specified by:
getFilterList in interface ICompiler
Returns:
List
Throws:
CQLException - if a ClassCastException occurs while casting a built item to a Filter.
See Also:
ICompiler.compileFilterList()

getTokenInPosition

public IToken getTokenInPosition(int index)
Description copied from interface: ICompiler
Return the token presents in the position specified.

Specified by:
getTokenInPosition in interface ICompiler
Returns:
IToken

jjtreeOpenNodeScope

public final void jjtreeOpenNodeScope(org.geotools.filter.text.generated.parsers.Node n)
Overrides:
jjtreeOpenNodeScope in class org.geotools.filter.text.generated.parsers.CQLParser

jjtreeCloseNodeScope

public final void jjtreeCloseNodeScope(org.geotools.filter.text.generated.parsers.Node n)
                                throws org.geotools.filter.text.generated.parsers.ParseException
Overrides:
jjtreeCloseNodeScope in class org.geotools.filter.text.generated.parsers.CQLParser
Throws:
org.geotools.filter.text.generated.parsers.ParseException

main

public static void main(java.lang.String[] args)
                 throws org.geotools.filter.text.generated.parsers.ParseException
On line cql interpreter

Parameters:
args -
Throws:
org.geotools.filter.text.generated.parsers.ParseException


Copyright © 1996-2010 Geotools. All Rights Reserved.