public class FilterCompliancePreProcessor extends Object implements FilterVisitor
and {
nullFilter
or{
fidFilter
nullFilter
}
}
for strict it would throw an exception, for low it would be left alone, but for Medium it would
end up as:
and{
nullFilter
nullFilter
}
and getFids() would return the fids in the fidFilter.
So the final filter would (this is not standard but a common implementation) return the results of the and filter as well as all the features that match the fids. Which is more than the original filter would accept.
The XML Document writer can operate at different levels of compliance. The geotools level is extremely flexible and forgiving.
All NOT(FidFilter) are changed to Filter.INCLUDE. So make sure that the filter is processed again on the client with the original filter For a description of the difference Compliance levels that can be used see
| Constructor and Description |
|---|
FilterCompliancePreProcessor(Integer complianceLevel) |
| Modifier and Type | Method and Description |
|---|---|
Id |
getFidFilter()
Gets the fid filter that contains all the fids.
|
Filter |
getFilter()
Returns the filter that can be encoded.
|
boolean |
requiresPostProcessing()
Returns true if the filter was one where the request to the server is more general than the
actual filter.
|
Object |
visit(After after,
Object extraData) |
Object |
visit(And filter,
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) |
protected Object |
visit(BinaryTemporalOperator filter,
Object data) |
Object |
visit(Contains filter,
Object extraData) |
Object |
visit(Crosses filter,
Object extraData) |
Object |
visit(Disjoint filter,
Object extraData) |
Object |
visit(DistanceBufferOperator 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(ExcludeFilter filter,
Object extraData)
Visit
Filter.EXCLUDE (often used during data structure transformations). |
Object |
visit(Id filter,
Object extraData) |
Object |
visit(IncludeFilter filter,
Object extraData)
Visit
Filter.INCLUDE (often used during data structure transformations). |
Object |
visit(Intersects filter,
Object extraData) |
Object |
visit(Meets meets,
Object extraData) |
Object |
visit(MetBy metBy,
Object extraData) |
Object |
visit(NativeFilter nativeFilter,
Object extraData) |
Object |
visit(Not filter,
Object extraData) |
Object |
visit(Or filter,
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(PropertyIsLike filter,
Object extraData) |
Object |
visit(PropertyIsNil filter,
Object extraData) |
Object |
visit(PropertyIsNotEqualTo filter,
Object extraData) |
Object |
visit(PropertyIsNull filter,
Object extraData) |
Object |
visit(TContains contains,
Object extraData) |
Object |
visit(TEquals equals,
Object extraData) |
Object |
visit(Touches filter,
Object extraData) |
Object |
visit(TOverlaps contains,
Object extraData) |
Object |
visit(Within filter,
Object extraData) |
Object |
visitNullFilter(Object extraData)
Used to account for a
null filter value. |
public FilterCompliancePreProcessor(Integer complianceLevel)
public Id getFidFilter()
public Filter getFilter()
public Object visit(PropertyIsBetween filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(PropertyIsEqualTo filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(PropertyIsGreaterThan filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(PropertyIsGreaterThanOrEqualTo filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(PropertyIsLessThan filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(PropertyIsLessThanOrEqualTo filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(PropertyIsNotEqualTo filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(BBOX filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(Contains filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(Crosses filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(Disjoint filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(DistanceBufferOperator filter, Object extraData)
public Object visit(Equals filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(Intersects filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(Overlaps filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(Touches filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(Within filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(Beyond filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(DWithin filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(PropertyIsLike filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(And filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(Or filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(Not filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(PropertyIsNull filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(PropertyIsNil filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(Id filter, Object extraData)
visit in interface FilterVisitorpublic Object visit(IncludeFilter filter, Object extraData)
FilterVisitorFilter.INCLUDE (often used during data structure transformations).visit in interface FilterVisitorfilter - Filter.INCLUDE.extraData - Value object provided to visitorpublic Object visit(ExcludeFilter filter, Object extraData)
FilterVisitorFilter.EXCLUDE (often used during data structure transformations).visit in interface FilterVisitorfilter - Filter.EXCLUDE.extraData - Value object provided to visitorpublic Object visitNullFilter(Object extraData)
FilterVisitornull filter value.
This is particularly used during data structure transofrmations, however the use of
null is not recommended. Please make use of Filter.NONE and Filter.ALL as placeholder
objects that communicate intent.
visitNullFilter in interface FilterVisitorextraData - Value object provided to visitorpublic Object visit(After after, Object extraData)
visit in interface FilterVisitorpublic Object visit(AnyInteracts anyInteracts, Object extraData)
visit in interface FilterVisitorpublic Object visit(Before before, Object extraData)
visit in interface FilterVisitorpublic Object visit(Begins begins, Object extraData)
visit in interface FilterVisitorpublic Object visit(BegunBy begunBy, Object extraData)
visit in interface FilterVisitorpublic Object visit(During during, Object extraData)
visit in interface FilterVisitorpublic Object visit(EndedBy endedBy, Object extraData)
visit in interface FilterVisitorpublic Object visit(Ends ends, Object extraData)
visit in interface FilterVisitorpublic Object visit(Meets meets, Object extraData)
visit in interface FilterVisitorpublic Object visit(MetBy metBy, Object extraData)
visit in interface FilterVisitorpublic Object visit(OverlappedBy overlappedBy, Object extraData)
visit in interface FilterVisitorpublic Object visit(TContains contains, Object extraData)
visit in interface FilterVisitorpublic Object visit(TEquals equals, Object extraData)
visit in interface FilterVisitorpublic Object visit(TOverlaps contains, Object extraData)
visit in interface FilterVisitorprotected Object visit(BinaryTemporalOperator filter, Object data)
public boolean requiresPostProcessing()
XMLHandlerHints.VALUE_FILTER_COMPLIANCE_MEDIUM and example of when
this can happen.public Object visit(NativeFilter nativeFilter, Object extraData)
visit in interface FilterVisitorCopyright © 1996–2021 Geotools. All rights reserved.