Package org.geotools.filter.text.ecql
Class ECQLCompiler
- Object
-
- ECQLParser
-
- ECQLCompiler
-
- All Implemented Interfaces:
ICompiler
,ECQLParserConstants
,ECQLParserTreeConstants
public class ECQLCompiler extends ECQLParser implements ICompiler
ECQLCompilerBuilds the filter, expression or arguments related with the visited node of syntax tree
- Since:
- 2.6
- Author:
- Jody Garnett, Mauricio Pazos (Axios Engineering)
-
-
Field Summary
-
Fields inherited from class ECQLParser
GEOOP, jj_nt, jjtree, lookingAhead, RELGEOOP, token, token_source
-
Fields inherited from interface ECQLParserConstants
AFTER, AND, ANY, BBOX, BEFORE, BETWEEN, BEYOND, COLON, COMMA, CONTAINS, CROSSES, DATE, 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, ID, IDENTIFIER, ILIKE, IN, 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, SRID, STATUTE_MILES, STRING_LITERAL, TEQUALS, TIME_ZONE, tokenImage, TOUCHES, TRUE, UNKNOWN, UTC, UTC_TIME, WITHIN
-
Fields inherited from interface ECQLParserTreeConstants
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, JJTDATE_NODE, JJTDATETIME_NODE, JJTDE9IM_NODE, JJTDISTANCEUNITS_NODE, JJTDIVNODE, JJTDURATION_DATE_NODE, JJTENVELOPETAGGEDTEXT_NODE, JJTEXCLUDE_NODE, JJTEXISTENCE_PREDICATE_DOESNOTEXIST_NODE, JJTEXISTENCE_PREDICATE_EXISTS_NODE, JJTEXPRESSION_IN_LIST_NODE, JJTFALSENODE, JJTFEATURE_ID_NODE, JJTFLOATINGNODE, JJTFUNCTION_NODE, JJTFUNCTIONARG_NODE, JJTFUNCTIONNAME_NODE, JJTGEOMETRYCOLLECTIONTEXT_NODE, JJTGEOMETRYLITERAL, JJTID_PREDICATE_NODE, JJTIDENTIFIER_NODE, JJTIDENTIFIER_PART_NODE, JJTILIKE_NODE, JJTIN_PREDICATE_NODE, JJTINCLUDE_NODE, JJTINTEGERNODE, JJTLIKE_NODE, JJTLINESTRINGTEXT_NODE, JJTMULNODE, JJTMULTILINESTRINGTEXT_NODE, JJTMULTIPOINTTEXT_NODE, JJTMULTIPOLYGONTEXT_NODE, JJTNEGATIVENUMBER_NODE, jjtNodeName, JJTNOT_BETWEEN_NODE, JJTNOT_ILIKE_NODE, JJTNOT_IN_PREDICATE_NODE, JJTNOT_LIKE_NODE, JJTNOTNULLPREDICATENODE, JJTNULLPREDICATENODE, JJTPERIOD_BETWEEN_DATES_NODE, JJTPERIOD_WITH_DATE_DURATION_NODE, JJTPERIOD_WITH_DURATION_DATE_NODE, JJTPOINT_NODE, JJTPOINTTEXT_NODE, JJTPOLYGONTEXT_NODE, JJTREFERENCEDGEOMETRYLITERAL, JJTRELATE_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, JJTSIMPLEGEOMETRYLITERAL, 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 ECQLCompiler(String txtSource, FilterFactory filterFactory)
new instance of TXTCompiler
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
compileExpression()
compiles source to produce a Expressionvoid
compileFilter()
compile source to produce a Filter.void
compileFilterList()
Compiles a list of filtersExpression
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 {@link #FilterListCompilationUnit()()}String
getSource()
IToken
getTokenInPosition(int index)
Return the token presents in the position specified.void
jjtreeCloseNodeScope(Node n)
called by parser when the node is closed.void
jjtreeOpenNodeScope(Node n)
-
Methods inherited from class ECQLParser
Attribute, AttributeTail, BBoxArgumentList, BetweenPredicate, BinaryExpression, BooleanFactor, BooleanLiteral, BooleanPrimary, BooleanTerm, BooleanValueExpression, BoundingBox, CharacterPattern, ComparisonPredicate, DateLiteral, DateTime, DateTimeExpression, DE9IM, disable_tracing, DistanceUnits, Duration, ECQLExpression, enable_tracing, EnvelopeTaggedText, EnvelopText, Evaluate, ExistencePredicate, Expression, ExpressionCompilationUnit, ExpressionInList, FilterCompilationUnit, FilterListCompilationUnit, FloatingLiteral, Function, FunctionArg, FunctionName, GeneralLiteral, generateParseException, GeometryCollectionTaggedText, GeometryCollectionText, GeometryLiteral, GeoRoutineArgumentList, getNextToken, getToken, Identifier, IdentifierPart, IdList, IdPredicate, IdPredicateDeprecated, IdValue, IlikePredicate, IncludeExcludePredicate, InPredicate, InPredicateList, IntegerLiteral, isDE9IM, isGeoOp, isRelGeoOp, likePredicate, LineStringTaggedText, LineStringText, Literal, logDeprecatedWarning, MultiLineStringTaggedText, MultiLineStringText, MultiplicativeExpression, MultiPointTaggedText, MultiPointText, MultiPolygonTaggedText, MultiPolygonText, NullPredicate, NumericLiteral, Period, PeriodTail, Point, PointTaggedText, PointText, PolygonTaggedText, PolygonText, Predicate, ReferencedGeometryLiteral, ReInit, ReInit, ReInit, ReInit, RelateArgumentList, RelateTail, RelGeoRoutineArgumentList, RoutineInvocation, RoutineInvocationGeneric, RoutineInvocationGeoOp, RoutineInvocationRelGeoOp, SearchCondition, SequenceOfSearchConditions, SimpleAttributeName, SimpleGeometryLiteral, StringLiteral, TemporalPredicate, TemporalPredicateAfter, TemporalPredicateBefore, TemporalPredicateDuring, TemporalPredicateHead, TemporalPredicateTail, TemporalPredicateTEquals, Tolerance, UnaryExpression, UnsignedNumericLiteral
-
-
-
-
Constructor Detail
-
ECQLCompiler
public ECQLCompiler(String txtSource, FilterFactory filterFactory)
new instance of TXTCompiler
-
-
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
compiles source to produce a Expression- Specified by:
compileExpression
in interfaceICompiler
- Throws:
CQLException
-
compileFilterList
public void compileFilterList() throws CQLException
Compiles a list of filters- 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()
-
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
-
getFilterList
public List<Filter> getFilterList() throws CQLException
Returns the list of Filters built as the result of calling {@link #FilterListCompilationUnit()()}- 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()
-
jjtreeOpenNodeScope
public final void jjtreeOpenNodeScope(Node n)
- Overrides:
jjtreeOpenNodeScope
in classECQLParser
-
jjtreeCloseNodeScope
public final void jjtreeCloseNodeScope(Node n) throws ParseException
called by parser when the node is closed.- Overrides:
jjtreeCloseNodeScope
in classECQLParser
- Throws:
ParseException
-
-