public abstract class AbstractMappingFeatureIterator extends Object implements IMappingFeatureIterator
Modifier and Type | Field and Description |
---|---|
protected FeatureFactory |
attf
Factory used to create the target feature and attributes
|
protected int |
dataMaxFeatures
maximum number of features to request when running the data(base?)
|
protected int |
featureCounter
counter to ensure maxFeatures is not exceeded
|
protected FilterFactory2 |
filterFac |
protected FeatureTypeFactory |
ftf |
protected boolean |
includeMandatory |
protected static Logger |
LOGGER
The logger for the filter module.
|
protected FeatureTypeMapping |
mapping
The mappings for the source and target schemas
|
protected FilterFactory |
namespaceAwareFilterFactory |
protected NamespaceSupport |
namespaces |
protected Query |
query |
protected int |
requestMaxFeatures
maxFeatures restriction value as provided by query.
|
static long |
RESOLVE_TIMEOUT_POLL_INTERVAL
Milliseconds between polls of resolver thread.
|
protected int |
resolveDepth |
protected Integer |
resolveTimeOut |
protected List<AttributeMapping> |
selectedMapping
Mappings after Property Selection is applied
|
protected Map<AttributeMapping,List<PropertyName>> |
selectedProperties
Selected Properties for Feature Chaining
|
protected AppSchemaDataAccess |
store |
protected Transaction |
transaction |
static Name |
XLINK_HREF_NAME
Name representation of xlink:href
|
protected XPath |
xpathAttributeBuilder |
Constructor and Description |
---|
AbstractMappingFeatureIterator(AppSchemaDataAccess store,
FeatureTypeMapping mapping,
Query query) |
AbstractMappingFeatureIterator(AppSchemaDataAccess store,
FeatureTypeMapping mapping,
Query query,
Query unrolledQuery) |
AbstractMappingFeatureIterator(AppSchemaDataAccess store,
FeatureTypeMapping mapping,
Query query,
Query unrolledQuery,
boolean hasPostFilter) |
AbstractMappingFeatureIterator(AppSchemaDataAccess store,
FeatureTypeMapping mapping,
Query query,
Query unrolledQuery,
boolean removeQueryLimitIfDenormalised,
boolean hasPostFilter) |
AbstractMappingFeatureIterator(AppSchemaDataAccess store,
FeatureTypeMapping mapping,
Query query,
Query unrolledQuery,
boolean removeQueryLimitIfDenormalised,
boolean hasPostFilter,
Transaction tx) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the underlying FeatureIterator
|
protected abstract void |
closeSourceFeatures() |
protected abstract Feature |
computeNext() |
protected abstract String |
extractIdForAttribute(Expression idExpression,
Object sourceInstance)
Based on the set of xpath expression/id extracting expression, finds the ID for the attribute
idExpression from the source complex attribute. |
protected Map |
getClientProperties(Property attribute) |
protected abstract FeatureIterator<? extends Feature> |
getSourceFeatureIterator() |
Transaction |
getTransaction() |
protected Query |
getUnrolledQuery(Query query)
Return a query appropriate to its underlying feature source.
|
protected abstract Object |
getValue(Expression expression,
Object sourceFeature) |
abstract boolean |
hasNext()
Does another Feature exist in this Iteration.
|
protected abstract void |
initialiseSourceFeatures(FeatureTypeMapping mapping,
Query query,
CoordinateReferenceSystem crs) |
protected boolean |
isHasNextCalled() |
protected abstract boolean |
isNextSourceFeatureNull() |
protected abstract boolean |
isSourceFeatureIteratorNull() |
Feature |
next()
Return next feature.
|
protected abstract Feature |
populateFeatureData(String id) |
protected static String |
referenceToIdentifier(String reference) |
void |
remove()
Shall not be called, just throws an UnsupportedOperationException
|
protected Attribute |
setAttributeContent(Attribute target,
XPathUtil.StepList xpath,
Object value,
String id,
AttributeType targetNodeType,
boolean isXlinkRef,
Expression sourceExpression,
Object source,
Map<Name,Expression> clientProperties,
boolean ignoreXlinkHref) |
protected void |
setClientProperties(Attribute target,
Object source,
Map<Name,Expression> clientProperties) |
protected void |
setGeometryUserData(Attribute target,
Map<Name,Object> targetAttributes) |
protected void |
setHasNextCalled(boolean hasNextCalled) |
protected abstract boolean |
sourceFeatureIteratorHasNext() |
protected abstract boolean |
unprocessedFeatureExists() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEachRemaining
protected static final Logger LOGGER
protected FilterFactory2 filterFac
protected FeatureTypeFactory ftf
public static final Name XLINK_HREF_NAME
public static final long RESOLVE_TIMEOUT_POLL_INTERVAL
protected FeatureTypeMapping mapping
protected List<AttributeMapping> selectedMapping
protected Map<AttributeMapping,List<PropertyName>> selectedProperties
protected boolean includeMandatory
protected FeatureFactory attf
protected AppSchemaDataAccess store
protected final XPath xpathAttributeBuilder
protected FilterFactory namespaceAwareFilterFactory
protected final int requestMaxFeatures
protected final int dataMaxFeatures
protected int featureCounter
protected NamespaceSupport namespaces
protected int resolveDepth
protected Integer resolveTimeOut
protected Transaction transaction
protected Query query
public AbstractMappingFeatureIterator(AppSchemaDataAccess store, FeatureTypeMapping mapping, Query query) throws IOException
IOException
public AbstractMappingFeatureIterator(AppSchemaDataAccess store, FeatureTypeMapping mapping, Query query, Query unrolledQuery) throws IOException
IOException
public AbstractMappingFeatureIterator(AppSchemaDataAccess store, FeatureTypeMapping mapping, Query query, Query unrolledQuery, boolean hasPostFilter) throws IOException
IOException
public AbstractMappingFeatureIterator(AppSchemaDataAccess store, FeatureTypeMapping mapping, Query query, Query unrolledQuery, boolean removeQueryLimitIfDenormalised, boolean hasPostFilter) throws IOException
IOException
public AbstractMappingFeatureIterator(AppSchemaDataAccess store, FeatureTypeMapping mapping, Query query, Query unrolledQuery, boolean removeQueryLimitIfDenormalised, boolean hasPostFilter, Transaction tx) throws IOException
IOException
public Transaction getTransaction()
public void remove()
public void close()
close
in interface Closeable
close
in interface AutoCloseable
close
in interface FeatureIterator<Feature>
protected abstract String extractIdForAttribute(Expression idExpression, Object sourceInstance)
idExpression
from the source complex attribute.idExpression
- the location path of the attribute to be created, for which to obtain the
id by evaluating the corresponding org.geotools.filter.Expression
from
sourceInstance
.sourceInstance
- a complex attribute which is the source of the mapping.attributeXPath
, or null
if there is no an id mapping for that attribute.protected Query getUnrolledQuery(Query query)
query
- the original query against the output schemaprotected boolean isHasNextCalled()
protected void setHasNextCalled(boolean hasNextCalled)
public Feature next()
next
in interface Iterator<Feature>
next
in interface FeatureIterator<Feature>
Iterator.next()
protected Map getClientProperties(Property attribute) throws DataSourceException
DataSourceException
protected Attribute setAttributeContent(Attribute target, XPathUtil.StepList xpath, Object value, String id, AttributeType targetNodeType, boolean isXlinkRef, Expression sourceExpression, Object source, Map<Name,Expression> clientProperties, boolean ignoreXlinkHref)
protected void setClientProperties(Attribute target, Object source, Map<Name,Expression> clientProperties)
protected void setGeometryUserData(Attribute target, Map<Name,Object> targetAttributes)
protected abstract void closeSourceFeatures()
protected abstract FeatureIterator<? extends Feature> getSourceFeatureIterator()
protected abstract void initialiseSourceFeatures(FeatureTypeMapping mapping, Query query, CoordinateReferenceSystem crs) throws IOException
IOException
protected abstract boolean unprocessedFeatureExists()
protected abstract boolean sourceFeatureIteratorHasNext()
protected abstract boolean isNextSourceFeatureNull()
protected abstract Feature populateFeatureData(String id) throws IOException
IOException
protected abstract Object getValue(Expression expression, Object sourceFeature)
protected abstract boolean isSourceFeatureIteratorNull()
protected abstract Feature computeNext() throws IOException
IOException
public abstract boolean hasNext()
FeatureIterator
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.)
Copyright © 1996–2019 Geotools. All rights reserved.