Package org.geotools.data.complex.filter
Class IndexedFilterDetectorVisitor
- Object
-
- DefaultFilterVisitor
-
- IndexedFilterDetectorVisitor
-
- All Implemented Interfaces:
ExpressionVisitor
,FilterVisitor
- Direct Known Subclasses:
SchemaIndexedFilterDetectorVisitor
public class IndexedFilterDetectorVisitor extends DefaultFilterVisitor
Detects which AND/OR filter (BinaryLogicOperator) is the parent operator of indexed filter(s). Then collects the full-indexed subfilter(s). Unrolled Filter implementation- Author:
- Fernando MiƱo - Geosolutions
-
-
Field Summary
Fields Modifier and Type Field Description protected List<Filter>
indexedFilters
protected FeatureTypeMapping
mapping
protected BinaryLogicOperator
parentLogicOperator
-
Constructor Summary
Constructors Constructor Description IndexedFilterDetectorVisitor(FeatureTypeMapping mapping)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<Filter>
getIndexedFilters()
BinaryLogicOperator
getParentLogicOperator()
protected boolean
isFullyIndexed(Filter filter)
checks if Filter is fully indexedprotected void
processFilter(BinaryLogicOperator filter)
Detect if AND/OR filter is the parent operator of indexed filter then collect the full-indexed subfilter(s)Object
visit(And filter, Object data)
Object
visit(Or filter, Object data)
-
Methods inherited from class DefaultFilterVisitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitNullFilter
-
-
-
-
Field Detail
-
mapping
protected FeatureTypeMapping mapping
-
parentLogicOperator
protected BinaryLogicOperator parentLogicOperator
-
-
Constructor Detail
-
IndexedFilterDetectorVisitor
public IndexedFilterDetectorVisitor(FeatureTypeMapping mapping)
-
-
Method Detail
-
visit
public Object visit(Or filter, Object data)
- Specified by:
visit
in interfaceFilterVisitor
- Overrides:
visit
in classDefaultFilterVisitor
-
visit
public Object visit(And filter, Object data)
- Specified by:
visit
in interfaceFilterVisitor
- Overrides:
visit
in classDefaultFilterVisitor
-
processFilter
protected void processFilter(BinaryLogicOperator filter)
Detect if AND/OR filter is the parent operator of indexed filter then collect the full-indexed subfilter(s)
-
isFullyIndexed
protected boolean isFullyIndexed(Filter filter)
checks if Filter is fully indexed- Parameters:
filter
- unrolled filter
-
getParentLogicOperator
public BinaryLogicOperator getParentLogicOperator()
-
-