Package org.geotools.filter.text.cql2
Class CQLCompiler
-
- All Implemented Interfaces:
ICompiler
,CQLParserConstants
,CQLParserTreeConstants
public class CQLCompiler extends 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
- Author:
- Mauricio Pazos (Axios Engineering)
-
-
Field Summary
-
Fields inherited from class CQLParser
GEOOP, jj_nt, jjtree, lookingAhead, RELGEOOP, token, token_source
-
Fields inherited from interface CQLParserConstants
AFTER, AND, ANY, BBOX, BEFORE, BETWEEN, BEYOND, COLON, COMMA, CONTAINS, CROSSES, DATE_TIME, DE9IM_PATTERN, DEFAULT, DIGIT, DIMENSION_SYMBOL, DISJOINT, DOES_NOT_EXIST, DOUBLE_QUOTE, 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, TEQUALS, TIME_ZONE, tokenImage, TOUCHES, TRUE, UNKNOWN, UTC, UTC_TIME, WITHIN
-
Fields inherited from interface CQLParserTreeConstants
JJTADDNODE, JJTBETWEEN_NODE, JJTBOOLEAN_AND_NODE, JJTBOOLEAN_NOT_NODE, JJTBOOLEAN_OR_NODE, JJTCOMPARISONPREDICATE_EQ_NODE, JJTCOMPARISONPREDICATE_GT_NODE, JJTCOMPARISONPREDICATE_GTE_NODE, JJTCOMPARISONPREDICATE_LT_NODE, JJTCOMPARISONPREDICATE_LTE_NODE, JJTCOMPARISONPREDICATE_NOT_EQUAL_NODE, JJTCOMPOUND_ATTRIBUTE_NODE, JJTDATETIME_NODE, JJTDE9IM_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, JJTTPTEQUALS_DATETIME_NODE, JJTTRUENODE, JJTVOID, JJTWKTNODE
-
-
Constructor Summary
Constructors Constructor Description CQLCompiler(String cqlSource, FilterFactory filterFactory)
new instance of CQL Compiler
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
compileExpression()
compile source to produce a Expressionvoid
compileFilter()
compile source to produce a Filter.void
compileFilterList()
Expression
getExpression()
Return the expression resultant of compiling processFilter
getFilter()
Return the filter resultant of compiling processList<Filter>
getFilterList()
Returns the list of Filters built as the result of calling#MultipleCompilationUnit()
String
getSource()
IToken
getTokenInPosition(int index)
Return the token presents in the position specified.void
jjtreeCloseNodeScope(Node n)
void
jjtreeOpenNodeScope(Node n)
static void
main(String[] args)
On line cql interpreter-
Methods inherited from class CQLParser
Attribute, AttributeTail, BBoxArgumentList, BetweenPredicate, BinaryExpression, BooleanFactor, BooleanLiteral, BooleanPrimary, BooleanTerm, BooleanValueExpression, CharacterPattern, ComparisonPredicate, DateTime, DateTimeExpression, DE9IM, 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, isDE9IM, isGeoOp, isRelGeoOp, LineStringTaggedText, LineStringText, Literal, logDeprecatedWarning, MultiLineStringTaggedText, MultiLineStringText, MultiplicativeExpression, MultiPointTaggedText, MultiPointText, MultiPolygonTaggedText, MultiPolygonText, NullPredicate, NumericLiteral, Period, PeriodTail, Point, PointTaggedText, PointText, PolygonTaggedText, PolygonText, Predicate, ReInit, ReInit, ReInit, ReInit, RelateArgumentList, RelGeoRoutineArgumentList, RoutineInvocation, RoutineInvocationGeneric, RoutineInvocationGeoOp, RoutineInvocationRelGeoOp, SearchCondition, SequenceOfSearchConditions, SignedNumericLiteral, SimpleAttributeName, StringLiteral, TemporalPredicate, TemporalPredicateAfter, TemporalPredicateBefore, TemporalPredicateDuring, TemporalPredicateTEquals, TextPredicate, Tolerance, UnaryExpression, UnsignedNumericLiteral
-
-
-
-
Constructor Detail
-
CQLCompiler
public CQLCompiler(String cqlSource, FilterFactory filterFactory)
new instance of CQL Compiler
-
-
Method Detail
-
compileFilter
public void compileFilter() throws CQLException
compile source to produce a Filter. The filter result must be retrieved withgetFilter()
.- Specified by:
compileFilter
in interfaceICompiler
- Throws:
CQLException
-
compileExpression
public void compileExpression() throws CQLException
compile source to produce a Expression- Specified by:
compileExpression
in interfaceICompiler
- Throws:
CQLException
-
compileFilterList
public void compileFilterList() throws CQLException
Description copied from interface:ICompiler
Compiles the source string to produce aList
ofFilter
. The result must be retrieved with {@link #getFilterList()()}.- Specified by:
compileFilterList
in interfaceICompiler
- Throws:
CQLException
-
getSource
public final String getSource()
-
getFilter
public final Filter getFilter() throws CQLException
Return the filter resultant of compiling process- Specified by:
getFilter
in interfaceICompiler
- Returns:
- Filter
- Throws:
CQLException
- See Also:
ICompiler.compileFilter()
-
getExpression
public final Expression getExpression() throws CQLException
Return the expression resultant of compiling process- Specified by:
getExpression
in interfaceICompiler
- Returns:
- Expression
- Throws:
CQLException
- See Also:
ICompiler.compileExpression()
-
getFilterList
public final List<Filter> getFilterList() throws CQLException
Returns the list of Filters built as the result of calling#MultipleCompilationUnit()
- Specified by:
getFilterList
in interfaceICompiler
- 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 interfaceICompiler
- Returns:
- IToken
-
jjtreeOpenNodeScope
public final void jjtreeOpenNodeScope(Node n)
- Overrides:
jjtreeOpenNodeScope
in classCQLParser
-
jjtreeCloseNodeScope
public final void jjtreeCloseNodeScope(Node n) throws ParseException
- Overrides:
jjtreeCloseNodeScope
in classCQLParser
- Throws:
ParseException
-
main
public static void main(String[] args) throws ParseException
On line cql interpreter- Throws:
ParseException
-
-