Package org.geotools.data.complex.filter
Class FeatureChainedAttributeVisitor
- Object
-
- DefaultExpressionVisitor
-
- FeatureChainedAttributeVisitor
-
- All Implemented Interfaces:
ExpressionVisitor
public class FeatureChainedAttributeVisitor extends DefaultExpressionVisitor
Expression visitor that uses the attribute and mapping information provided by aFeatureTypeMapping
object to determine which nested feature types / attributes must be traversed to reach the attribute identified by the providedPropertyName
expression.The provided
FeatureTypeMapping
object is regarded as the root mapping against which the expression is evaluated.The nested attribute mappings are returned as a list of
FeatureChainedAttributeVisitor.FeatureChainLink
objects; the first one in the list always refers to the root mapping.- Author:
- Stefano Costa, GeoSolutions
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FeatureChainedAttributeVisitor.FeatureChainedAttributeDescriptor
Descriptor class holding information about a feature chained attribute, i.e. an attribute belonging to a feature type that is linked to a root feature type via feature chaining.static class
FeatureChainedAttributeVisitor.FeatureChainLink
Represents a single link in the "chain" of feature types that need to be linked to go from the root type to a nested attribute.
-
Constructor Summary
Constructors Constructor Description FeatureChainedAttributeVisitor(FeatureTypeMapping root)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
conditionalMappingWasFound()
Tells clients whether or not a conditional mapping was found in the feature chain when the latest expression was visited.List<FeatureChainedAttributeVisitor.FeatureChainedAttributeDescriptor>
getFeatureChainedAttributes()
Returns an object describing the sequence of feature chaining links that must be traversed to reach the attribute specified by the visited expression.boolean
isUnboundedNestedElementFound()
protected boolean
startsWith(XPathUtil.StepList one, XPathUtil.StepList other)
Object
visit(PropertyName expression, Object data)
-
-
-
Constructor Detail
-
FeatureChainedAttributeVisitor
public FeatureChainedAttributeVisitor(FeatureTypeMapping root)
-
-
Method Detail
-
visit
public Object visit(PropertyName expression, Object data)
- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classDefaultExpressionVisitor
-
isUnboundedNestedElementFound
public boolean isUnboundedNestedElementFound()
-
getFeatureChainedAttributes
public List<FeatureChainedAttributeVisitor.FeatureChainedAttributeDescriptor> getFeatureChainedAttributes()
Returns an object describing the sequence of feature chaining links that must be traversed to reach the attribute specified by the visited expression.- Returns:
- a feature chained attribute descriptor, or
null
if none was found
-
conditionalMappingWasFound
public boolean conditionalMappingWasFound()
Tells clients whether or not a conditional mapping was found in the feature chain when the latest expression was visited.- Returns:
true
if a conditional mapping was found in the feature chain,false
otherwise
-
startsWith
protected boolean startsWith(XPathUtil.StepList one, XPathUtil.StepList other)
-
-