public class PropertyFeatureStore extends ContentFeatureStore
FeatureLocking.ResponseORIGINAL_FEATURE_KEY, WRITER_ADD, WRITER_COMMIT, WRITER_UPDATEentry, hints, lock, query, queryCapabilities, schema, transaction| Modifier and Type | Method and Description |
|---|---|
protected void |
addHints(Set<Hints.Key> hints)
Subclass hook too add additional hints.
|
protected SimpleFeatureType |
buildFeatureType()
Creates the feature type or schema for the feature source.
|
protected QueryCapabilities |
buildQueryCapabilities()
Builds the query capabilities for this feature source.
|
protected boolean |
canEvent()
We handle events internally
|
protected ReferencedEnvelope |
getBoundsInternal(Query query)
Calculates the bounds of a specified query.
|
protected int |
getCountInternal(Query query)
Calculates the number of features of a specified query.
|
PropertyDataStore |
getDataStore()
The datastore that this feature source originated from.
|
ContentEntry |
getEntry()
The entry for the feature source.
|
ResourceInfo |
getInfo()
A default ResourceInfo with a generic description.
|
Name |
getName()
Returns the same name than the feature type (ie,
getSchema().getName() to honor the
simple feature land common practice of calling the same both the Features produces and their
types |
QueryCapabilities |
getQueryCapabilities()
SimpleFeatureCollection optimized for read-only access.
|
protected FeatureReader<SimpleFeatureType,SimpleFeature> |
getReaderInternal(Query query)
Subclass method for returning a native reader from the datastore.
|
ContentState |
getState()
The current state for the feature source.
|
Transaction |
getTransaction()
The current transaction the feature source is working against.
|
protected FeatureWriter<SimpleFeatureType,SimpleFeature> |
getWriterInternal(Query query,
int flags)
Subclass method for returning a native writer from the datastore.
|
protected boolean |
handleVisitor(Query query,
FeatureVisitor visitor)
Subclass method which allows subclasses to natively handle a visitor.
|
void |
setTransaction(Transaction transaction)
Sets the current transaction the feature source is working against.
|
addFeatures, addFeatures, getWriter, getWriter, getWriter, getWriter, modifyFeatures, modifyFeatures, modifyFeatures, modifyFeatures, modifyFeatures, modifyFeatures, removeFeatures, setFeaturesaccepts, addFeatureListener, canFilter, canLimit, canLock, canOffset, canReproject, canRetype, canSort, canTransact, doLockInternal, doUnlockInternal, getAbsoluteSchema, getBounds, getBounds, getCount, getFeatures, getFeatures, getFeatures, getReader, getReader, getReader, getSchema, getSupportedHints, getView, getView, isView, joinQuery, lockFeatures, lockFeatures, lockFeatures, processLock, removeFeatureListener, resolvePropertyNames, resolvePropertyNames, setFeatureLock, unLockFeatures, unLockFeatures, unLockFeaturesclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetFeatures, getFeatures, getFeatureslockFeatures, lockFeatures, lockFeatures, setFeatureLock, unLockFeatures, unLockFeatures, unLockFeaturesaddFeatureListener, getBounds, getBounds, getCount, getSchema, getSupportedHints, removeFeatureListenerprotected void addHints(Set<Hints.Key> hints)
ContentFeatureSourceBy default, the followings are already present:
addHints in class ContentFeatureSourcehints - The set of hints supported by the feature source.protected boolean canEvent()
canEvent in class ContentFeatureSourceprotected QueryCapabilities buildQueryCapabilities()
ContentFeatureSourcebuildQueryCapabilities in class ContentFeatureSourceprotected FeatureWriter<SimpleFeatureType,SimpleFeature> getWriterInternal(Query query, int flags) throws IOException
ContentFeatureStoreIt is important to note that if the native writer intends to handle any of the following natively:
true:
getWriterInternal in class ContentFeatureStorequery - Queryflags - See ContentFeatureStore.WRITER_ADD and ContentFeatureStore.WRITER_UPDATEIOExceptionpublic void setTransaction(Transaction transaction)
ContentFeatureSourcetransaction may be null. This signifies that the auto-commit
transaction is used: Transaction.AUTO_COMMIT.
setTransaction in interface FeatureStore<SimpleFeatureType,SimpleFeature>setTransaction in class ContentFeatureSourcetransaction - The new transaction, or null.protected ReferencedEnvelope getBoundsInternal(Query query) throws IOException
ContentFeatureSourcegetBoundsInternal in class ContentFeatureSourceIOExceptionprotected int getCountInternal(Query query) throws IOException
ContentFeatureSourcegetCountInternal in class ContentFeatureSourceIOExceptionprotected FeatureReader<SimpleFeatureType,SimpleFeature> getReaderInternal(Query query) throws IOException
ContentFeatureSourceIt is important to note that if the native reader intends to handle any of the following natively:
true:
ContentFeatureSource.canReproject() - handles Query.getCoordinateSystemReproject() internally.
Example would be PostGIS using Proj to handle reproejction internallyContentFeatureSource.canFilter() - handles Query#getFilter() internally.getReaderInternal in class ContentFeatureSourceIOExceptionprotected SimpleFeatureType buildFeatureType() throws IOException
ContentFeatureSourceImplementations should use SimpleFeatureTypeBuilder to build the feature type.
Also, the builder should be injected with the feature factory which has been set on the
DataStore (see ContentDataStore.getFeatureFactory(). Example:
SimpleFeatureTypeBuilder b = new SimpleFeatureTypeBuilder(); b.setFeatureTypeFactory( getDataStore().getFeatureTypeFactory() ); //build the feature type ...
buildFeatureType in class ContentFeatureSourceIOExceptionprotected boolean handleVisitor(Query query, FeatureVisitor visitor) throws IOException
ContentFeatureSourceSubclasses would override this method and return true in cases where the specific visitor could be handled without iterating over the entire result set of query. An example would be handling visitors that calculate aggregate values.
handleVisitor in class ContentFeatureSourcequery - The query being made.visitor - The visitor toIOExceptionpublic PropertyDataStore getDataStore()
ContentFeatureSourceSubclasses may wish to extend this method in order to type narrow its return type.
getDataStore in interface FeatureSource<SimpleFeatureType,SimpleFeature>getDataStore in class ContentFeatureSourceFeatureSourcepublic ContentEntry getEntry()
ContentFeatureSourcegetEntry in class ContentFeatureSourcepublic Transaction getTransaction()
ContentFeatureSourceThis transaction is used to derive the state for the feature source. A null
value for a transaction represents the auto commit transaction: Transaction.AUTO_COMMIT.
getTransaction in interface FeatureStore<SimpleFeatureType,SimpleFeature>getTransaction in class ContentFeatureSource#getState()}.public ContentState getState()
ContentFeatureSourceThis value is derived from current transaction of the feature source.
getState in class ContentFeatureSource#setTransaction(Transaction)}.public ResourceInfo getInfo()
ContentFeatureSourceSubclasses should override to provide an explicit ResourceInfo object for their content.
getInfo in interface FeatureSource<SimpleFeatureType,SimpleFeature>getInfo in class ContentFeatureSourcepublic Name getName()
ContentFeatureSourcegetSchema().getName() to honor the
simple feature land common practice of calling the same both the Features produces and their
typesgetName in interface FeatureSource<SimpleFeatureType,SimpleFeature>getName in class ContentFeatureSourceFeatureSourceFeatureSource.getName()public QueryCapabilities getQueryCapabilities()
ContentFeatureSourceAvailable via getView( filter ):
In particular this method of data access is intended for rendering and other high speed operations; care should be taken to optimize the use of FeatureVisitor.
getQueryCapabilities in interface FeatureSource<SimpleFeatureType,SimpleFeature>getQueryCapabilities in class ContentFeatureSourceCopyright © 1996–2019 Geotools. All rights reserved.