Package org.geotools.data.joining
Class JoiningNestedAttributeMapping
- Object
- 
- AttributeMapping
- 
- NestedAttributeMapping
- 
- JoiningNestedAttributeMapping
 
 
 
- 
 public class JoiningNestedAttributeMapping extends NestedAttributeMapping Nested attribute mapping used for joining system- Author:
- Niels Charlier (Curtin University of Technology)
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description protected static classJoiningNestedAttributeMapping.InstanceInstance that holds temporary data for going through the features, for each 'caller' (any object going through the features) there is one.
 - 
Field SummaryFields Modifier and Type Field Description protected Map<Object,JoiningNestedAttributeMapping.Instance>instancesThe instances.- 
Fields inherited from class NestedAttributeMappingfilterFac, nestedFeatureType, nestedTargetXPath
 - 
Fields inherited from class AttributeMappingsourceExpression, targetXPath
 
- 
 - 
Constructor SummaryConstructors Constructor Description JoiningNestedAttributeMapping(Expression idExpression, Expression parentExpression, XPathUtil.StepList targetXPath, boolean isMultiValued, Map<Name,Expression> clientProperties, Expression sourceElement, XPathUtil.StepList sourcePath, NamespaceSupport namespaces)Constructor
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose(Object caller)Close the instance of this caller.List<Feature>getFeatures(Object caller, 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 valueList<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.List<Feature>getInputFeatures(Object foreignKeyValue, FeatureTypeMapping fMapping)Get matching input features that are stored in this mapping using a supplied link value.Map<Name,DataAccessMappingFeatureIterator>getNestedFeatureIterators(Object caller)For testing purposes only: exposes the nested feature iterators to calling code.DataAccessMappingFeatureIteratorinitSourceFeatures(JoiningNestedAttributeMapping.Instance instance, Name featureTypeName, CoordinateReferenceSystem reprojection, List<PropertyName> selectedProperties, boolean includeMandatory, int resolveDepth, Integer resolveTimeOut, Transaction transaction)Initialise a new iterator (for polymorphism, there could be multiple per instance)voidopen(Object caller, Query baseTableQuery, FeatureTypeMapping mapping)Open an instance (cursor) for a specific caller.voidskip(Object caller, Object foreignKeyValue, List<Object> idValues)If we have decided not to build the parent feature, we need to skip all rows that were returned to build itprotected voidskipFeatures(DataAccessMappingFeatureIterator featureIterator, Expression nestedSourceExpression, Object foreignKeyValue, List<Object> idValues)- 
Methods inherited from class NestedAttributeMappinggetFeatures, getFeatureTypeMapping, getMapping, getMappingSource, getNamespaces, getNestedFeatureType, isConditional, isNestedAttribute, isSameSource
 - 
Methods inherited from class AttributeMappingencodeIfEmpty, equals, getClientProperties, getIdentifierExpression, getIndexField, getInstanceXpath, getLabel, getMultipleValue, getParentLabel, getSourceExpression, getSourceIndex, getTargetNodeInstance, getTargetXPath, hashCode, isList, isMultiValued, setEncodeIfEmpty, setIdentifierExpression, setIndexField, setInstanceXpath, setLabel, setList, setParentLabel, toString
 
- 
 
- 
- 
- 
Field Detail- 
instancesprotected Map<Object,JoiningNestedAttributeMapping.Instance> instances The instances.
 
- 
 - 
Constructor Detail- 
JoiningNestedAttributeMappingpublic JoiningNestedAttributeMapping(Expression idExpression, Expression parentExpression, XPathUtil.StepList targetXPath, boolean isMultiValued, Map<Name,Expression> clientProperties, Expression sourceElement, XPathUtil.StepList sourcePath, NamespaceSupport namespaces) throws IOException Constructor- Throws:
- IOException
 
 
- 
 - 
Method Detail- 
getInputFeaturespublic List<Feature> getInputFeatures(Object foreignKeyValue, FeatureTypeMapping fMapping) Description copied from class:NestedAttributeMappingGet matching input features that are stored in this mapping using a supplied link value.- Overrides:
- getInputFeaturesin class- NestedAttributeMapping
- Returns:
- The matching input feature
 
 - 
initSourceFeaturespublic DataAccessMappingFeatureIterator initSourceFeatures(JoiningNestedAttributeMapping.Instance instance, Name featureTypeName, CoordinateReferenceSystem reprojection, List<PropertyName> selectedProperties, boolean includeMandatory, int resolveDepth, Integer resolveTimeOut, Transaction transaction) throws IOException Initialise a new iterator (for polymorphism, there could be multiple per instance)- Throws:
- IOException
 
 - 
openpublic void open(Object caller, Query baseTableQuery, FeatureTypeMapping mapping) throws IOException Open an instance (cursor) for a specific caller. An instance holds a cursor and any additional information to move through the features.- Throws:
- IOException
 
 - 
closepublic void close(Object caller) Close the instance of this caller.
 - 
getInputFeaturespublic 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.- Overrides:
- getInputFeaturesin class- NestedAttributeMapping
- Returns:
- The matching input feature
- Throws:
- IOException
 
 - 
getFeaturespublic List<Feature> getFeatures(Object caller, 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- Overrides:
- getFeaturesin class- NestedAttributeMapping
- Parameters:
- reprojection- Reprojected CRS or null
- selectedProperties- list of properties to get
- Returns:
- The matching simple features
- Throws:
- IOException
 
 - 
skipFeaturesprotected void skipFeatures(DataAccessMappingFeatureIterator featureIterator, Expression nestedSourceExpression, Object foreignKeyValue, List<Object> idValues) throws IOException - Throws:
- IOException
 
 - 
skippublic void skip(Object caller, Object foreignKeyValue, List<Object> idValues) throws IOException If we have decided not to build the parent feature, we need to skip all rows that were returned to build it- Throws:
- IOException
 
 - 
getNestedFeatureIteratorspublic Map<Name,DataAccessMappingFeatureIterator> getNestedFeatureIterators(Object caller) For testing purposes only: exposes the nested feature iterators to calling code.- Parameters:
- caller- the object going through the features
- Returns:
- a map of nested feature iterators, keyed by nested feature type name
 
 
- 
 
-