org.geotools.data.complex
Class FilteringMappingFeatureIterator
Object
AbstractMappingFeatureIterator
DataAccessMappingFeatureIterator
FilteringMappingFeatureIterator
- All Implemented Interfaces:
- Closeable, Iterator<Feature>, IMappingFeatureIterator, FeatureIterator<Feature>
public class FilteringMappingFeatureIterator
- extends DataAccessMappingFeatureIterator
An extension to DataAccessMappingFeatureIterator where
filter is present. Since join query between 2 or more tables isn't supported, the only way we can
query nested features is by applying the filter per simple feature (database row). This is done
in hasNext().
- Author:
- Rini Angreani (CSIRO Earth Science and Resource Engineering)
Fields inherited from class AbstractMappingFeatureIterator |
attf, dataMaxFeatures, featureCounter, ftf, includeMandatory, LOGGER, mapping, namespaceAwareFilterFactory, namespaces, requestMaxFeatures, RESOLVE_TIMEOUT_POLL_INTERVAL, resolveDepth, resolveTimeOut, selectedMapping, selectedProperties, store, XLINK_HREF_NAME, xpathAttributeBuilder |
Methods inherited from class DataAccessMappingFeatureIterator |
checkForeignIdValues, checkForeignIdValues, cleanEmptyElements, computeNext, extractIdForAttribute, extractIdForFeature, getForeignIdValues, getIdValues, getSourceFeatureIterator, getValue, getValues, isByReference, isNextSourceFeatureNull, isReprojectionCrsEqual, isSourceFeatureIteratorNull, peekNextValue, peekValue, populateFeatureData, setAttributeValue, setForeignIds, setListFilter, setNextFeature, setXlinkReference, skip, skipNestedMapping, skipTopElement, sourceFeatureIteratorHasNext, unprocessedFeatureExists |
Methods inherited from class AbstractMappingFeatureIterator |
close, getClientProperties, getDataMaxFeatures, getRequestMaxFeatures, getUnrolledQuery, isHasNextCalled, next, referenceToIdentifier, remove, setAttributeContent, setClientProperties, setGeometryUserData, setHasNextCalled |
Methods inherited from class Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FilteringMappingFeatureIterator
public FilteringMappingFeatureIterator(AppSchemaDataAccess store,
FeatureTypeMapping mapping,
Query query,
Query unrolledQuery,
Filter filter)
throws IOException
- Throws:
IOException
FilteringMappingFeatureIterator
public FilteringMappingFeatureIterator(AppSchemaDataAccess store,
FeatureTypeMapping mapping,
Query query,
Query unrolledQuery,
Filter filter,
CoordinateReferenceSystem crs)
throws IOException
- Throws:
IOException
initialiseSourceFeatures
protected void initialiseSourceFeatures(FeatureTypeMapping mapping,
Query query,
CoordinateReferenceSystem crs)
throws IOException
- Overrides:
initialiseSourceFeatures
in class DataAccessMappingFeatureIterator
- Throws:
IOException
closeSourceFeatures
protected void closeSourceFeatures()
- Overrides:
closeSourceFeatures
in class DataAccessMappingFeatureIterator
hasNext
public boolean hasNext()
- Description copied from interface:
FeatureIterator
- Does another Feature exist in this Iteration.
Iterator defin: Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.)
- Specified by:
hasNext
in interface Iterator<Feature>
- Specified by:
hasNext
in interface FeatureIterator<Feature>
- Overrides:
hasNext
in class DataAccessMappingFeatureIterator
- Returns:
- true if more Features exist, false otherwise.
getNextFeatureId
protected String getNextFeatureId()
- Overrides:
getNextFeatureId
in class DataAccessMappingFeatureIterator
getSources
protected List<Feature> getSources(String id)
throws IOException
- Description copied from class:
DataAccessMappingFeatureIterator
- Get all source features of the provided id. This assumes the source features are grouped by
id.
- Overrides:
getSources
in class DataAccessMappingFeatureIterator
- Parameters:
id
- The feature id
- Returns:
- list of source features
- Throws:
IOException
Copyright © 1996-2014 Geotools. All Rights Reserved.