All DataStores (e.g. PostGIS, Shapefile(tm), GML...) must provide implementations of the DataStore interface and the DataStoreFactorySpi interface. These interfaces allow new types of datastore to be plugged into applications which use GeoTools without the need to modify any code.
FeatureStore postgis = new PostGisDataStore( ... ); Query all = Query.ALL; FeatureType roadType = postgis.getFeatureType( "roads" ); // reader 1 streams over all roads FeatureReader reader1 = postgis.getFeatureReader( roadsType, all, Transaction.AUTO_COMMIT ); // allRoads = featureResults is a prepaired query of all roads FeatureSource roads = postgis.getFeatureSource( "roads" ); FeatureResults allRoads = roads.getFeatures( all ); // reader 2 & 3 streams over all roads in the same manner as reader 1 FeatureReader reader2 = allRoads.reader(); FeatureReader reader3 = allRoads.reader(); // bounds1 returns the bounding box of roads, may be null depending on expense Envelope bounds1 = roads.getBounds( all ); // bounds2 returns the bounding box of roads, may actually calculate by going over the entire dataset Envelope bounds 2 = allRoads.getBounds();
Interface Summary Interface Description AttributeReaderThe low-level attribute reading API. AttributeWriter- Added hasNext to support the FeatureWriter API. - Changed order of writer parameters to match Collections, JDBC API. - Added IOExceptions on all methods. - Do we want AttributeWriters to know about the schema and perform validation?? CloseableIterator<T>An iterator backed by some resource that needs closing when done using it DataAccess<T extends FeatureType,F extends Feature>This is the top-level interface for access to
DataAccessFactoryConstructs a live DataAccess from a set of connection parameters. DataStoreThis represents a physical source of feature data, such as a shapefiles or database, where the features will be instances of
DataStoreFactorySpiFactory used to construct a DataStore from a set of parameters. DelegatingFeatureReader<T extends FeatureType,F extends Feature>Interface for wrapping feature readers which delegate to another feature reader. DelegatingFeatureWriter<T extends FeatureType,F extends Feature>Interface for wrapping feature writers which delegate to another feature writer. FeatureListenerInterface to be implemented by all listeners of FeatureEvents. FeatureLocking<T extends FeatureType,F extends Feature>Provides Feature based locking. FeatureReader<T extends FeatureType,F extends Feature>The low-level interface for reading Features. FeatureSource<T extends FeatureType,F extends Feature>This class provides a high-level API for operations on feature data. FeatureStore<T extends FeatureType,F extends Feature>This interface extends
FeatureSource, adding methods to add and remove features and to modify existing features.
FeatureWriter<T extends FeatureType,F extends Feature>Provides the ability to write Features information. FIDReaderFeatureReader customized for FeatureID handling. FileDataStoreDataStore represents a single file of content. FileDataStoreFactorySpiDataAccessFactory for working with formats based on a single URL. FileGroupProvider FileResourceInfoExtends
ResourceInfowith information about the file structure of the resource
ServiceInfowith information about the underlying file structure
FileStoreFactoryA delegate that finds the files managed by the directory store and FilteringFileStoreFactoryA delegate that indicates which files can be managed by the delegate store, when setting up a DirectoryDataStore LockingManagerThis class describes a featureID based locking service. RepositoryAn adapter interface allowing a hosting application to advertise DataStore instances to GeoTools. ResourceInfoThis interface defines methods to convey information about some resource such as title, keywords, description and spatial parameters. ServiceInfoInformation about a service. SimpleFeatureLockingUsed to lock feature content to protect against other threads (or depending on the source of data other applications) making modifications when you are not looking. SimpleFeatureReaderFeatureReader for SimpleFeature content. SimpleFeatureSourceFeatureSource explicitly working with SimpleFeatureCollection. SimpleFeatureStore SimpleFeatureWriterFeatureWriter for updating SimpleFeature content. TransactionThe controller for Transaction with FeatureStore. Transaction.StateDataStore implementations can use this interface to externalize the state they require to implement Transaction Support.
Class Summary Class Description BatchFeatureEventProvide batch notification on Commit / Rollback. DataAccessFactory.ParamData class used to capture Parameter requirements. DataAccessFinderEnable programs to find all available DataAccess implementations, including the DataStore ones. DataStoreFinderEnable programs to find all available datastore implementations. FeatureEventRepresents all events triggered by DataStore instances (typically change events). FeatureLockUsed in conjuction with
FeatureLockingto lock features during a transaction.
FeatureLocking.ResponseIdea for a response from a high-level lock( Query ) function. FileDataStoreFinderMost of this code was copied from DataStoreFinder. FileGroupProvider.FileGroupA Group of Files consisting of a reference to a mainFile, plus a set of support Files (if any) and metadata map. JoinRepresents the joining of two feature types within a
Parameter<T>A Parameter defines information about a valid process parameter. QueryEncapsulates a request for data, typically as: QueryCapabilitiesDescribes the query capabilities for a specific FeatureType, so client code can request which features are natively supported by a FeatureSource.
Enum Summary Enum Description FeatureEvent.Type Join.Typetype of join
Exception Summary Exception Description DataSourceExceptionThrown when there is an error in a datasource. FeatureLockExceptionIndicates a lock contention, and attempt was made to modify or aquire with out Authroization.