Class JoiningNestedAttributeMapping


  • public class JoiningNestedAttributeMapping
    extends NestedAttributeMapping
    Nested attribute mapping used for joining system
    Author:
    Niels Charlier (Curtin University of Technology)
    • Method Detail

      • open

        public 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
      • close

        public void close​(Object caller)
        Close the instance of this caller.
      • 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.
        Overrides:
        getInputFeatures in class NestedAttributeMapping
        Returns:
        The matching input feature
        Throws:
        IOException
      • getFeatures

        public 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:
        getFeatures in class NestedAttributeMapping
        Parameters:
        reprojection - Reprojected CRS or null
        selectedProperties - list of properties to get
        Returns:
        The matching simple features
        Throws:
        IOException
      • skipFeatures

        protected void skipFeatures​(DataAccessMappingFeatureIterator featureIterator,
                                    Expression nestedSourceExpression,
                                    Object foreignKeyValue,
                                    List<Object> idValues)
                             throws IOException
        Throws:
        IOException
      • skip

        public 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
      • getNestedFeatureIterators

        public 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