Class FilterCompliancePreProcessor
- All Implemented Interfaces:
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
- Author:
- Jody
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGets the fid filter that contains all the fids.Returns the filter that can be encoded.boolean
Returns true if the filter was one where the request to the server is more general than the actual filter.visit
(ExcludeFilter filter, Object extraData) VisitFilter.EXCLUDE
(often used during data structure transformations).visit
(IncludeFilter filter, Object extraData) VisitFilter.INCLUDE
(often used during data structure transformations).visit
(NativeFilter nativeFilter, Object extraData) visit
(PropertyIsBetween filter, Object extraData) visit
(PropertyIsEqualTo filter, Object extraData) visit
(PropertyIsGreaterThanOrEqualTo filter, Object extraData) visit
(PropertyIsGreaterThan filter, Object extraData) visit
(PropertyIsLessThanOrEqualTo filter, Object extraData) visit
(PropertyIsLessThan filter, Object extraData) visit
(PropertyIsLike filter, Object extraData) visit
(PropertyIsNil filter, Object extraData) visit
(PropertyIsNotEqualTo filter, Object extraData) visit
(PropertyIsNull filter, Object extraData) visit
(DistanceBufferOperator filter, Object extraData) visit
(Intersects filter, Object extraData) visit
(AnyInteracts anyInteracts, Object extraData) protected Object
visit
(BinaryTemporalOperator filter, Object data) visit
(OverlappedBy overlappedBy, Object extraData) visitNullFilter
(Object extraData) Used to account for anull
filter value.
-
Constructor Details
-
FilterCompliancePreProcessor
-
-
Method Details
-
getFidFilter
Gets the fid filter that contains all the fids.- Returns:
- the fid filter that contains all the fids.
-
getFilter
Returns the filter that can be encoded.- Returns:
- the filter that can be encoded.
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
Description copied from interface:FilterVisitor
VisitFilter.INCLUDE
(often used during data structure transformations).- Specified by:
visit
in interfaceFilterVisitor
- Parameters:
filter
-Filter.INCLUDE
.extraData
- Value object provided to visitor- Returns:
- subclass supplied
-
visit
Description copied from interface:FilterVisitor
VisitFilter.EXCLUDE
(often used during data structure transformations).- Specified by:
visit
in interfaceFilterVisitor
- Parameters:
filter
-Filter.EXCLUDE
.extraData
- Value object provided to visitor- Returns:
- subclass supplied
-
visitNullFilter
Description copied from interface:FilterVisitor
Used to account for anull
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.- Specified by:
visitNullFilter
in interfaceFilterVisitor
- Parameters:
extraData
- Value object provided to visitor- Returns:
- subclass defined
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-
visit
-
requiresPostProcessing
public boolean requiresPostProcessing()Returns true if the filter was one where the request to the server is more general than the actual filter. SeeXMLHandlerHints.VALUE_FILTER_COMPLIANCE_MEDIUM
and example of when this can happen.- Returns:
- true if the filter was one where the request to the server is more general than the actual filter.
-
visit
- Specified by:
visit
in interfaceFilterVisitor
-