Package org.geotools.data.complex
Class NestedAttributeMapping
Object
AttributeMapping
NestedAttributeMapping
- Direct Known Subclasses:
JoiningNestedAttributeMapping
,MongoNestedMapping
This class represents AttributeMapping for attributes that are nested inside another complex attribute. The nested
attributes would be features, or fake features, ie. complex attributes which types are wrapped with
NonFeatureTypeProxy instances. The purpose of this class is to store nested built features so they can be retrieved
when the parent feature is being built. Simple features are also stored for caching if a filter involving these
nested features is run.
- Author:
- Rini Angreani (CSIRO Earth Science and Resource Engineering)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected FilterFactory
Filter factoryprotected final Expression
Name of the nested features elementprotected final XPathUtil.StepList
Target xpath that links to nested featuresFields inherited from class AttributeMapping
sourceExpression, targetXPath
-
Constructor Summary
ConstructorsConstructorDescriptionNestedAttributeMapping
(Expression idExpression, Expression parentExpression, XPathUtil.StepList targetXPath, boolean isMultiValued, Map<Name, Expression> clientProperties, Expression sourceElement, XPathUtil.StepList sourcePath, NamespaceSupport namespaces) Sole constructor -
Method Summary
Modifier and TypeMethodDescriptiongetFeatures
(Object source, Object foreignKeyValue, List<Object> idValues, CoordinateReferenceSystem reprojection, Object feature, List<PropertyName> selectedProperties, boolean includeMandatory, int resolveDepth, Integer resolveTimeOut) Get the maching built features that are stored in this mapping using a supplied link valuegetFeatures
(Object foreignKeyValue, CoordinateReferenceSystem reprojection, Feature feature, int resolveDepth, Integer resolveTimeOut) Get the maching built features that are stored in this mapping using a supplied link valuegetFeatureTypeMapping
(Feature feature) getInputFeatures
(Object caller, Object foreignKeyValue, List<Object> idValues, Object feature, CoordinateReferenceSystem reprojection, List<PropertyName> selectedProperties, boolean includeMandatory) Get matching input features that are stored in this mapping using a supplied link value.getInputFeatures
(Object foreignKeyValue, FeatureTypeMapping fMapping) Get matching input features that are stored in this mapping using a supplied link value.getMapping
(FeatureTypeMapping featureTypeMapping) protected FeatureSource<? extends FeatureType,
? extends Feature> getMappingSource
(Object feature) getNestedFeatureType
(Object feature) boolean
boolean
This is overridden by NestedAttributeMappingboolean
Methods inherited from class AttributeMapping
encodeIfEmpty, equals, getClientProperties, getIdentifierExpression, getIndexField, getInstanceXpath, getLabel, getMultipleValue, getParentLabel, getSourceExpression, getSourceIndex, getTargetNodeInstance, getTargetXPath, hashCode, isList, isMultiValued, setEncodeIfEmpty, setIdentifierExpression, setIndexField, setInstanceXpath, setLabel, setList, setParentLabel, toString
-
Field Details
-
nestedFeatureType
Name of the nested features element -
nestedTargetXPath
Target xpath that links to nested features -
filterFac
Filter factory
-
-
Constructor Details
-
NestedAttributeMapping
public NestedAttributeMapping(Expression idExpression, Expression parentExpression, XPathUtil.StepList targetXPath, boolean isMultiValued, Map<Name, Expression> clientProperties, Expression sourceElement, XPathUtil.StepList sourcePath, NamespaceSupport namespaces) throws IOExceptionSole constructor- Parameters:
sourceElement
- parent feature element typesourcePath
- XPath link to nested feature- Throws:
IOException
-
-
Method Details
-
isNestedAttribute
public boolean isNestedAttribute()Description copied from class:AttributeMapping
This is overridden by NestedAttributeMapping- Overrides:
isNestedAttribute
in classAttributeMapping
- Returns:
- always return false
-
getInputFeatures
public List<Feature> getInputFeatures(Object caller, Object foreignKeyValue, List<Object> idValues, Object feature, CoordinateReferenceSystem reprojection, List<PropertyName> selectedProperties, boolean includeMandatory) throws IOException Get matching input features that are stored in this mapping using a supplied link value.- Returns:
- The matching input feature
- Throws:
IOException
-
getMapping
-
getInputFeatures
public List<Feature> getInputFeatures(Object foreignKeyValue, FeatureTypeMapping fMapping) throws IOException Get matching input features that are stored in this mapping using a supplied link value.- Returns:
- The matching input feature
- Throws:
IOException
-
getFeatures
public List<Feature> getFeatures(Object foreignKeyValue, CoordinateReferenceSystem reprojection, Feature feature, int resolveDepth, Integer resolveTimeOut) throws IOException Get the maching built features that are stored in this mapping using a supplied link value- Parameters:
reprojection
- Reprojected CRS or null- Returns:
- The matching simple features
- Throws:
IOException
-
getFeatures
public List<Feature> getFeatures(Object source, Object foreignKeyValue, List<Object> idValues, CoordinateReferenceSystem reprojection, Object feature, List<PropertyName> selectedProperties, boolean includeMandatory, int resolveDepth, Integer resolveTimeOut) throws IOException Get the maching built features that are stored in this mapping using a supplied link value- Parameters:
reprojection
- Reprojected CRS or nullselectedProperties
- list of properties to get- Returns:
- The matching simple features
- Throws:
IOException
-
getMappingSource
protected FeatureSource<? extends FeatureType,? extends Feature> getMappingSource(Object feature) throws IOException - Throws:
IOException
-
getNestedFeatureType
- Returns:
- the nested feature type name
-
isConditional
public boolean isConditional() -
isSameSource
public boolean isSameSource() -
getFeatureTypeMapping
- Throws:
IOException
-
getNamespaces
-