@Override public Expression getExpression1(BinarySpatialOperator filter) { return filter.getExpression1(); }
@Override public Expression getExpression1(Beyond filter) { return filter.getExpression1(); }
@Override public Expression getExpression2(Beyond filter) { return filter.getExpression2(); }
@Override public Object visit(final BBOX filter, Object data) { data = geom(filter.getExpression1(), data); data = geom(filter.getExpression2(), data); return data; }
@Override public Expression getExpression2(BinarySpatialOperator filter) { return filter.getExpression2(); }
public Object visit(Contains filter, Object data) { data = filter.getExpression1().accept(this, data); data = filter.getExpression2().accept(this, data); return data; }
Object cloneFilter( BinarySpatialOperator bso, Object extraData, Expression ex1, Expression ex2) { DWithin filter = (DWithin) bso; return ff.dwithin(ex1, ex2, filter.getDistance(), filter.getDistanceUnits()); } }.transform(filter, extraData);
public Object visit(Overlaps filter, Object data) { data = filter.getExpression1().accept(this, data); data = filter.getExpression2().accept(this, data); return data; }
@Override public Object visit(Within filter, Object extraData) { // SDE can assert only one way, we need to invert from contains to within in case the // assertion is the other way around if (filter.getExpression1() instanceof PropertyName && filter.getExpression2() instanceof Literal) { addSpatialFilter(filter, SeFilter.METHOD_SC, true, extraData); } else { addSpatialFilter(filter, SeFilter.METHOD_PC, true, extraData); } return extraData; }
public Object visit(Beyond filter, Object data) { filter.getExpression1().accept(this, data); if (found) return found; filter.getExpression2().accept(this, data); return found; }
Object cloneFilter( BinarySpatialOperator bso, Object extraData, Expression ex1, Expression ex2) { Beyond filter = (Beyond) bso; return ff.beyond(ex1, ex2, filter.getDistance(), filter.getDistanceUnits()); } }.transform(filter, extraData);
public Object visit(Touches filter, Object data) { data = filter.getExpression1().accept(this, data); data = filter.getExpression2().accept(this, data); return data; }
public String getPropertyName() { return filter.getPropertyName(); }
public Object visit(Crosses filter, Object data) { data = filter.getExpression1().accept(this, data); data = filter.getExpression2().accept(this, data); return data; }
public Object visit(Disjoint filter, Object data) { data = filter.getExpression1().accept(this, data); data = filter.getExpression2().accept(this, data); return data; }
@Override public Expression getExpression1(DWithin filter) { return filter.getExpression1(); }
@Override public Expression getExpression2(DWithin filter) { return filter.getExpression2(); }
public Object visit(Contains filter, Object data) { data = filter.getExpression1().accept(this, data); data = filter.getExpression2().accept(this, data); return data; }
public Object visit(Overlaps filter, Object data) { data = filter.getExpression1().accept(this, data); data = filter.getExpression2().accept(this, data); return data; }
public Object visit(Overlaps filter, Object data) { filter.getExpression1().accept(this, data); if (found) return found; filter.getExpression2().accept(this, data); return found; }