Defines the DataStoreAPI via which all data is imported or exported.


Interface Summary
AttributeReader The low-level attribute reading API.
AttributeWriter - Added hasNext to support the FeatureWriter API
DataStore Represents a Physical Store for FeatureTypes.
DataStoreFactorySpi Constructs a live DataStore from a set of parameters.
FeatureListener Interface to be implemented by all listeners of FeatureEvents.
FeatureLock Used to lock features when used with LockingDataSource.
FeatureLocking Provides Feature based locking.
FeatureReader The low-level interface for reading Features.
FeatureResults Highlevel API for Features from a specific Query.
FeatureSource Highlevel API for Features from a specific location.
FeatureStore Provides storage of data for Features.
FeatureWriter Provides the ability to write Features information.
FIDReader FeatureReader customized for FeatureID handling.
FileDataStoreFactorySpi This interface includes some new functionality, and acts as a method of discovery for DataStoreFactories which support singular files.
LockingManager This class describes a featureID based locking service.
Query Encapsulates a data request.
Repository Provides a Repository of available FeatureTypes allowing Catalog metadata queries.
Transaction The controller for Transaction with FeatureStore.
Transaction.State DataStore implementations can use this interface to externalize the state they require to implement Transaction Support.

Class Summary
AbstractAttributeIO Provides support for creating AttributeReaders.
AbstractDataStore Represents a stating point for implementing your own DataStore.
AbstractDataStoreFactory A best of toolkit for DataStoreFactory implementors.
AbstractDataStoreTest An abstract super class for testing datastore implementations.
AbstractFeatureLocking A Starting point for your own FeatureLocking implementations.
AbstractFeatureSource This is a starting point for providing your own FeatureSource implementation.
AbstractFeatureStore This is a starting point for providing your own FeatureStore implementation.
AbstractFileDataStore This class assumes the DataStore represents a single source, represented by a URL.
CollectionFeatureReader FeatureReader that reads features from a java.util.collection of features, an array of features or a FeatureCollection.
DataStoreFactorySpi.Param Data class used to capture Parameter requirements.
DataStoreFinder Enable programs to find all available datastore implementations.
DataTestCase A set of constructs and utility methods used to test the data module.
DataUtilities Utility functions for use when implementing working with data classes.
DataUtilities.AbstractFilterVisitor A quick and dirty FilterVisitor.
DataUtilities.Traversal DOCUMENT ME!
DefaultFeatureLock Used to lock features when used with LockingDataSource.
DefaultFeatureLockFactory Default implementation of the FeatureLockFactory.
DefaultFeatureReader Basic support for reading Features from an AttributeReader.
DefaultFeatureResults Generic "results" of a query, class.
DefaultFIDReader A Default FIDReader.
DefaultQuery The query object is used by the FeatureSource.getFeatures() method of the DataSource interface, to encapsulate a request.
DefaultRepository Quick hack of a DataRepository allows me to bridge the existing DataStore API with these experiments for a Opperations api.
DefaultTransaction Quick implementation of Transaction api.
DiffFeatureReader A FeatureReader that considers differences.
DiffFeatureWriter A FeatureWriter that captures modifications against a FeatureReader.
EmptyFeatureReader Represents an Empty, Typed, FeatureReader.
EmptyFeatureWriter Represents an Empty, Typed, FeatureWriter.
FeatureEvent A simple event object to represent all events triggered by DataStore instances (typically change events).
FeatureListenerManager This class is used by DataStore implementations to provide FeatureListener support for the FeatureSources they create.
FeatureLockFactory This specifies the interface to create FeatureLocks.
FeatureLocking.Response Idea for a response from a high-level lock( Query ) function.
FeatureSourceRepository Another Quick hack of a DataRepository as a bridge to the Opperations api.
FIDFeatureReader Experimental FeatureReader that always takes the first column of the attributeReader as the FeatureID.
FileDataStoreFinder Most of this code was copied from DataStoreFinder.
FilteringFeatureReader Basic support for a FeatureReader that does filtering.
FilteringFeatureWriter Filtering is performed on this hasNext() method.
InProcessLockingManager Provides In-Process FeatureLocking support for DataStore implementations.
JoiningAttributeReader Attribute Reader that joins.
JoiningAttributeWriter Provides ...
MaxFeatureReader Basic support for a FeatureReader that limits itself to the number of features passed in.
ReTypeFeatureReader Supports on the fly retyping of FeatureReader contents.
TransactionStateDiff A Transaction.State that keeps a difference table for use with AbstractDataStore.

Exception Summary
DataSourceException Thrown when there is an error in a datasource.
FeatureLockException Indicates a lock contention, and attempt was made to modify or aquire with out Authroization.
SchemaNotFoundException Indicates a FeatureType could not be found.

Package Description

Defines the DataStoreAPI via which all data is imported or exported.

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(); 

Copyright © GeoTools. All Rights Reserved.