public interface DataStore extends DataAccess<SimpleFeatureType,SimpleFeature>
SimpleFeature
. It is derived from the DataAccess
interface (which works at the more general Feature
level.DataAccess
,
Feature
,
SimpleFeature
Modifier and Type | Method and Description |
---|---|
FeatureReader<SimpleFeatureType,SimpleFeature> |
getFeatureReader(Query query,
Transaction transaction)
Gets a
FeatureReader for features selected by the given Query . |
SimpleFeatureSource |
getFeatureSource(Name typeName)
Gets a
SimpleFeatureSource for features of the type specified by a qualified name
(namespace plus type name). |
SimpleFeatureSource |
getFeatureSource(String typeName)
Gets a
SimpleFeatureSource for features of the specified type. |
FeatureWriter<SimpleFeatureType,SimpleFeature> |
getFeatureWriter(String typeName,
Filter filter,
Transaction transaction)
Gets a
FeatureWriter to modify features in this DataStore . |
FeatureWriter<SimpleFeatureType,SimpleFeature> |
getFeatureWriter(String typeName,
Transaction transaction)
Gets a
FeatureWriter to modify features in this DataStore . |
FeatureWriter<SimpleFeatureType,SimpleFeature> |
getFeatureWriterAppend(String typeName,
Transaction transaction)
Gets a
FeatureWriter that can add new features to the DataStore . |
LockingManager |
getLockingManager()
Retrieve a per featureID based locking service from this
DataStore . |
SimpleFeatureType |
getSchema(String typeName)
Gets the type information (schema) for the specified feature type.
|
String[] |
getTypeNames()
Gets the names of feature types available in this
DataStore . |
void |
removeSchema(String typeName)
Used to permanently remove a schema from the underlying storage
This functionality is similar to an "drop table" statement in SQL.
|
void |
updateSchema(String typeName,
SimpleFeatureType featureType)
Applies a new schema to the given feature type.
|
createSchema, dispose, getInfo, getNames, getSchema, removeSchema, updateSchema
void updateSchema(String typeName, SimpleFeatureType featureType) throws IOException
typeName
- name of the feature type to updatefeatureType
- the new schema to applyIOException
- on errorvoid removeSchema(String typeName) throws IOException
This functionality is similar to an "drop table" statement in SQL. Implementation is optional; it may not be supported by all servers or files.
typeName
- IOException
- if the operation failedUnsupportedOperation
- if functionality is not availableString[] getTypeNames() throws IOException
DataStore
. Please note that this is
not guaranteed to return a list of unique names since the same unqualified name may be
present in separate namespaces within the DataStore
.DataStore
IOException
- if data access errors occurSimpleFeatureType getSchema(String typeName) throws IOException
typeName
- the feature type nameIOException
- if typeName
is not availableSimpleFeatureSource getFeatureSource(String typeName) throws IOException
SimpleFeatureSource
for features of the specified type. SimpleFeatureSource
provides a high-level API for feature operations.
The resulting SimpleFeatureSource
may implment more functionality as in this
example:
SimpleFeatureSource fsource = dataStore.getFeatureSource("roads");
if (fsource instanceof SimpleFeatureStore) {
// we have write access to the feature data
SimpleFeatureStore fstore = (SimpleFeatureStore) fs;
}
else {
// System.out.println("We do not have write access to roads");
}
typeName
- the feature typeSimpleFeatureSource
(or possibly a subclass) providing operations for
features of the specified typeIOException
- if data access errors occurSimpleFeatureSource
,
SimpleFeatureStore
SimpleFeatureSource getFeatureSource(Name typeName) throws IOException
SimpleFeatureSource
for features of the type specified by a qualified name
(namespace plus type name).getFeatureSource
in interface DataAccess<SimpleFeatureType,SimpleFeature>
typeName
- the qualified name of the feature typeSimpleFeatureSource
(or possibly a subclass) providing operations for
features of the specified typeIOException
- if data access errors occurgetFeatureSource(String)
,
SimpleFeatureSource
,
SimpleFeatureStore
FeatureReader<SimpleFeatureType,SimpleFeature> getFeatureReader(Query query, Transaction transaction) throws IOException
FeatureReader
for features selected by the given Query
. FeatureReader
provies an iterator-style API to feature data.
The Query
provides the schema for the form of the returned features as well as a
Filter
to constrain the features available via the reader.
The Transaction
can be used to externalize the state of the DataStore
.
Examples of this include a JDBCDataStore
sharing a connection for use across several
FeatureReader
requests; and a ShapefileDataStore
redirecting requests to an
alternate file during the course of a Transaction
.
query
- a query providing the schema and constraints for features that the reader will
returntransaction
- a transaction that this reader will operate againstFeatureReader
IOException
- if data access errors occurFeatureWriter<SimpleFeatureType,SimpleFeature> getFeatureWriter(String typeName, Filter filter, Transaction transaction) throws IOException
FeatureWriter
to modify features in this DataStore
. FeatureWriter
provides an iterator style API to features.
The returned writer does not allow features to be added.
typeName
- the type name for features that will be accessiblefilter
- defines additional constraints on the features that will be accessibletransaction
- the transation that the returned writer operates againstFeatureWriter
IOException
- if data access errors occurgetFeatureWriterAppend(String, Transaction)
FeatureWriter<SimpleFeatureType,SimpleFeature> getFeatureWriter(String typeName, Transaction transaction) throws IOException
FeatureWriter
to modify features in this DataStore
. FeatureWriter
provides an iterator style API to features.
The returned writer does not allow features to be added.
typeName
- the type name for features that will be accessibletransaction
- the transation that the returned writer operates againstFeatureWriter
IOException
- if data access errors occurgetFeatureWriterAppend(String, Transaction)
FeatureWriter<SimpleFeatureType,SimpleFeature> getFeatureWriterAppend(String typeName, Transaction transaction) throws IOException
FeatureWriter
that can add new features to the DataStore
.
The FeatureWriter
will return false
when its hasNext()
method is
called, but next()
can be used to acquire new features.
typeName
- name of the feature type for which features will be addedtransaction
- the transaction to operate againstFeatureWriter
that can only be used to append new featuresIOException
- if data access errors occurLockingManager getLockingManager()
DataStore
.LockingManager
; or null
if locking is handled by the
DataStore
in a different fashionCopyright © 1996–2019 Geotools. All rights reserved.