break; case TOUCHES: propertyName = ( (Touches) operator ).getPropName(); geometry = ( (Touches) operator ).getGeometry(); break; case WITHIN:
@Override public <T> boolean evaluate( T obj, XPathEvaluator<T> xpathEvaluator ) throws FilterEvaluationException { for ( TypedObjectNode paramValue : propName.evaluate( obj, xpathEvaluator ) ) { Geometry geom = checkGeometryOrNull( paramValue ); if ( geom != null ) { Geometry transformedLiteral = getCompatibleGeometry( geom, geometry ); return geom.touches( transformedLiteral ); } } return false; }
case TOUCHES: Touches touches = (Touches) op; return new Touches( copy( touches.getPropName() ), touches.getGeometry() ); case WITHIN: Within within = (Within) op;
break; case TOUCHES: geometry = ( (Touches) operator ).getGeometry(); break; case WITHIN:
spatialOperator = new Touches( param1, param2 ); break;
Touches touches = (Touches) op; builder.add( propNameExpr ).add( ".STTouches(" ); builder.add( toProtoSQL( touches.getGeometry(), storageCRS, srid ) ); builder.add( ")=1" ); break;
return new Overlaps( (Expression) os[0], (Geometry) os[1] ); case TOUCHES: return new Touches( (Expression) os[0], (Geometry) os[1] ); case WITHIN: return new Within( (Expression) os[0], (Geometry) os[1] );
builder.add( toProtoSQL( touches.getGeometry(), storageCRS, srid ) ); builder.add( ")" ); break;
spatialOperator = new Touches( param1, param2 ); break;
spatialOperator = new Touches( param1, param2 ); break;