org.geotools.filter.visitor
Class LiteralDemultiplyingFilterVisitor
Object
DuplicatingFilterVisitor
LiteralDemultiplyingFilterVisitor
- All Implemented Interfaces:
- ExpressionVisitor, FilterVisitor
public class LiteralDemultiplyingFilterVisitor
- extends DuplicatingFilterVisitor
This visitor gets rid of equations that contain literals with multiple values (collections)
and creates instead multiple singe value equations,
replacing the ANY, ALL, ONE logic by AND, OR, NOT logic
- Author:
- Niels Charlier
Method Summary |
protected
|
demultiply(T filter,
LiteralDemultiplyingFilterVisitor.FilterReplacer<T> replacer)
Demultiplies first and second expression |
protected
|
demultiplyFirst(T filter,
LiteralDemultiplyingFilterVisitor.FilterReplacer<T> replacer)
demultiplies the first expression |
Object |
visit(After after,
Object extraData)
|
Object |
visit(AnyInteracts anyInteracts,
Object extraData)
|
Object |
visit(BBOX filter,
Object extraData)
|
Object |
visit(Before before,
Object extraData)
|
Object |
visit(Begins begins,
Object extraData)
|
Object |
visit(BegunBy begunBy,
Object extraData)
|
Object |
visit(Beyond filter,
Object extraData)
|
Object |
visit(Contains filter,
Object extraData)
|
Object |
visit(Crosses filter,
Object extraData)
|
Object |
visit(Disjoint filter,
Object extraData)
|
Object |
visit(During during,
Object extraData)
|
Object |
visit(DWithin filter,
Object extraData)
|
Object |
visit(EndedBy endedBy,
Object extraData)
|
Object |
visit(Ends ends,
Object extraData)
|
Object |
visit(Equals filter,
Object extraData)
|
Object |
visit(Intersects filter,
Object extraData)
|
Object |
visit(Meets meets,
Object extraData)
|
Object |
visit(MetBy metBy,
Object extraData)
|
Object |
visit(OverlappedBy overlappedBy,
Object extraData)
|
Object |
visit(Overlaps filter,
Object extraData)
|
Object |
visit(PropertyIsBetween filter,
Object extraData)
|
Object |
visit(PropertyIsEqualTo filter,
Object extraData)
|
Object |
visit(PropertyIsGreaterThan filter,
Object extraData)
|
Object |
visit(PropertyIsGreaterThanOrEqualTo filter,
Object extraData)
|
Object |
visit(PropertyIsLessThan filter,
Object extraData)
|
Object |
visit(PropertyIsLessThanOrEqualTo filter,
Object extraData)
|
Object |
visit(PropertyIsNotEqualTo filter,
Object extraData)
|
Object |
visit(TContains contains,
Object extraData)
|
Object |
visit(TEquals equals,
Object extraData)
|
Object |
visit(Touches filter,
Object extraData)
|
Object |
visit(TOverlaps overlaps,
Object extraData)
|
Object |
visit(Within filter,
Object extraData)
|
Methods inherited from class DuplicatingFilterVisitor |
getFactory, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitNullFilter |
Methods inherited from class Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LiteralDemultiplyingFilterVisitor
public LiteralDemultiplyingFilterVisitor()
demultiplyFirst
protected <T extends MultiValuedFilter> Filter demultiplyFirst(T filter,
LiteralDemultiplyingFilterVisitor.FilterReplacer<T> replacer)
- demultiplies the first expression
- Parameters:
filter
- The filterreplacer
- The filter replacer
- Returns:
- the new filter
demultiply
protected <T extends MultiValuedFilter> Filter demultiply(T filter,
LiteralDemultiplyingFilterVisitor.FilterReplacer<T> replacer)
- Demultiplies first and second expression
- Parameters:
filter
- replacer
-
- Returns:
visit
public Object visit(PropertyIsBetween filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(PropertyIsEqualTo filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(PropertyIsNotEqualTo filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(PropertyIsGreaterThan filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(PropertyIsGreaterThanOrEqualTo filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(PropertyIsLessThan filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(PropertyIsLessThanOrEqualTo filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(BBOX filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(Beyond filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(Contains filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(Crosses filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(Disjoint filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(DWithin filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(Equals filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(Intersects filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(Overlaps filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(Touches filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(Within filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(After after,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(AnyInteracts anyInteracts,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(Before before,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(Begins begins,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(BegunBy begunBy,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(During during,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(EndedBy endedBy,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(Ends ends,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(Meets meets,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(MetBy metBy,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(OverlappedBy overlappedBy,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(TContains contains,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(TEquals equals,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
visit
public Object visit(TOverlaps overlaps,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class DuplicatingFilterVisitor
Copyright © 1996-2014 Geotools. All Rights Reserved.