return buildBinaryComparasionOperator(n.getType());
case JJTCOMPARISONPREDICATE_NOT_EQUAL_NODE:
Filter eq = buildBinaryComparasionOperator(JJTCOMPARISONPREDICATE_EQ_NODE);
Not notFilter = this.builder.buildNotFilter(eq);
return notFilter;
// ----------------------------------------
// Text predicate (Like)
// ----------------------------------------
case JJTLIKE_NODE:
return this.builder.buildLikeFilter(true);
case JJTNOT_LIKE_NODE:
return this.builder.buildNotLikeFilter(true);
// ----------------------------------------
// Text predicate (ILike)
// ----------------------------------------
case JJTILIKE_NODE:
return this.builder.buildLikeFilter(false);
case JJTNOT_ILIKE_NODE:
return this.builder.buildNotLikeFilter(false);
// ----------------------------------------
// Null predicate
// ----------------------------------------
case JJTNULLPREDICATENODE:
return this.builder.buildPropertyIsNull();
case JJTNOTNULLPREDICATENODE:
return this.builder.buildPorpertyNotIsNull();
// ----------------------------------------
// temporal predicate actions
// ----------------------------------------
case JJTDATE_NODE:
return this.builder
.buildDateExpression(getTokenInPosition(0));
case JJTDATETIME_NODE:
return this.builder
.buildDateTimeExpression(getTokenInPosition(0));
case JJTDURATION_DATE_NODE:
return this.builder
.buildDurationExpression(getTokenInPosition(0));
case JJTPERIOD_BETWEEN_DATES_NODE:
return this.builder.buildPeriodBetweenDates();
case JJTPERIOD_WITH_DATE_DURATION_NODE:
return this.builder.buildPeriodDateAndDuration();
case JJTPERIOD_WITH_DURATION_DATE_NODE:
return this.builder.buildPeriodDurationAndDate();
case JJTTPTEQUALS_DATETIME_NODE:
return this.builder.buildTEquals();
case JJTTPBEFORE_DATETIME_NODE:
return buildBefore();
case JJTTPAFTER_DATETIME_NODE:
return buildAfterPredicate();
case JJTTPDURING_PERIOD_NODE:
return buildDuring();
case JJTTPBEFORE_OR_DURING_PERIOD_NODE:
return buildBeforeOrDuring();
case JJTTPDURING_OR_AFTER_PERIOD_NODE:
return buildDuringOrAfter();
// ----------------------------------------
// existence predicate actions
// ----------------------------------------
case JJTEXISTENCE_PREDICATE_EXISTS_NODE:
return this.builder.buildPropertyExists();
case JJTEXISTENCE_PREDICATE_DOESNOTEXIST_NODE:
Filter filter = this.builder.buildPropertyExists();
Filter filterPropNotExist = this.builder.buildNotFilter(filter);
return filterPropNotExist;
// ----------------------------------------
// routine invocation Geo Operation
// ----------------------------------------
case JJTROUTINEINVOCATION_GEOOP_EQUAL_NODE:
case JJTROUTINEINVOCATION_GEOOP_DISJOINT_NODE:
case JJTROUTINEINVOCATION_GEOOP_INTERSECT_NODE:
case JJTROUTINEINVOCATION_GEOOP_TOUCH_NODE:
case JJTROUTINEINVOCATION_GEOOP_CROSS_NODE:
case JJTROUTINEINVOCATION_GEOOP_WITHIN_NODE:
case JJTROUTINEINVOCATION_GEOOP_CONTAIN_NODE:
case JJTROUTINEINVOCATION_GEOOP_OVERLAP_NODE:
return buildBinarySpatialOperator(n.getType());
case JJTROUTINEINVOCATION_GEOOP_BBOX_NODE:
case JJTROUTINEINVOCATION_GEOOP_BBOX_SRS_NODE:
return buildBBox(n.getType());
case JJTROUTINEINVOCATION_GEOOP_RELATE_NODE:
return this.builder.buildSpatialRelateFilter();
case JJTDE9IM_NODE:
return this.builder.buildDE9IM( getToken(0).image) ;
// ----------------------------------------
// routine invocation RelGeo Operation
// ----------------------------------------
case JJTTOLERANCE_NODE:
return this.builder.buildTolerance();
case JJTDISTANCEUNITS_NODE:
return this.builder.buildDistanceUnit(getTokenInPosition(0));
case JJTROUTINEINVOCATION_RELOP_BEYOND_NODE:
case JJTROUTINEINVOCATION_RELOP_DWITHIN_NODE:
return buildDistanceBufferOperator(n.getType());
// ----------------------------------------
// Geometries:
// ----------------------------------------
case JJTPOINT_NODE:
return this.builder.buildCoordinate();
case JJTPOINTTEXT_NODE:
return this.builder.buildPointText();
case JJTLINESTRINGTEXT_NODE:
return this.builder.buildLineString(JJTPOINT_NODE);
case JJTPOLYGONTEXT_NODE:
return this.builder.buildPolygon(JJTLINESTRINGTEXT_NODE);
case JJTMULTIPOINTTEXT_NODE:
return this.builder.buildMultiPoint(JJTPOINTTEXT_NODE);
case JJTMULTILINESTRINGTEXT_NODE:
return this.builder.buildMultiLineString(JJTLINESTRINGTEXT_NODE);
case JJTMULTIPOLYGONTEXT_NODE:
return this.builder.buildMultiPolygon(JJTPOLYGONTEXT_NODE);
case JJTGEOMETRYLITERAL:
return this.builder.buildGeometryLiteral();
case JJTGEOMETRYCOLLECTIONTEXT_NODE:
return this.builder.buildGeometryCollection(JJTGEOMETRYLITERAL);
case JJTWKTNODE:
return this.builder.buildGeometry();
case JJTENVELOPETAGGEDTEXT_NODE:
return this.builder.buildEnvelop(TokenAdapter.newAdapterFor(n
.getToken()));
case JJTINCLUDE_NODE:
return Filter.INCLUDE;
case JJTEXCLUDE_NODE:
return Filter.EXCLUDE;
case JJTTRUENODE:
return this.builder.buildTrueLiteral();
case JJTFALSENODE:
return this.builder.buildFalseLiteral();
// ----------------------------------------
// ID Predicate
// ----------------------------------------
case JJTFEATURE_ID_NODE:
return this.builder.buildFeatureID(getTokenInPosition(0));
case JJTID_PREDICATE_NODE:
return this.builder.buildFilterId(JJTFEATURE_ID_NODE);
// ----------------------------------------
// IN Predicate
// ----------------------------------------
case JJTIN_PREDICATE_NODE:
return this.builder.buildInPredicate(JJTEXPRESSION_IN_LIST_NODE);
case JJTNOT_IN_PREDICATE_NODE:
Or orFilter = this.builder.buildInPredicate(JJTEXPRESSION_IN_LIST_NODE);
Not notOrFilter = this.builder.buildNotFilter(orFilter);
return notOrFilter;
}
return null;