|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.geotools.data.AbstractDataStore
org.geotools.data.memory.MemoryDataStore
This is an example implementation of a DataStore used for testing.
It serves as an example implementation of:
This class will also illustrate the use of In-Process locking when the time comes.
| Field Summary | |
protected java.util.Map |
memory
Memory holds Map of Feature by fid by typeName. |
protected java.util.Map |
schema
Schema holds FeatureType by typeName |
| Fields inherited from class org.geotools.data.AbstractDataStore |
isWriteable, listenerManager, LOGGER |
| Constructor Summary | |
MemoryDataStore()
|
|
MemoryDataStore(Feature[] array)
|
|
MemoryDataStore(FeatureCollection collection)
|
|
MemoryDataStore(FeatureReader reader)
|
|
| Method Summary | |
void |
addFeature(Feature feature)
Adds a single Feature to the correct typeName entry. |
void |
addFeatures(java.util.Collection collection)
Configures MemoryDataStore with Collection. |
void |
addFeatures(Feature[] features)
Configures MemoryDataStore with feature array. |
void |
addFeatures(FeatureReader reader)
Configures MemoryDataStore with FeatureReader. |
FeatureWriter |
createFeatureWriter(java.lang.String typeName,
Transaction transaction)
Provides FeatureWriter over the entire contents of typeName.
|
void |
createSchema(FeatureType featureType)
Adds support for a new featureType to MemoryDataStore. |
protected java.util.Map |
features(java.lang.String typeName)
Access featureMap for typeName. |
protected com.vividsolutions.jts.geom.Envelope |
getBounds(Query query)
Computes the bounds of the features for the specified feature type that satisfy the query provided that there is a fast way to get that result. |
protected int |
getCount(Query query)
Gets the number of the features that would be returned by this query for the specified feature type. |
FeatureReader |
getFeatureReader(java.lang.String typeName)
Provides FeatureReader over the entire contents of typeName.
|
FeatureType |
getSchema(java.lang.String typeName)
FeatureType access by typeName. |
java.lang.String[] |
getTypeNames()
List of available types provided by this DataStore. |
| Methods inherited from class org.geotools.data.AbstractDataStore |
createLockingManager, createMetadata, getFeatureReader, getFeatureReader, getFeatureSource, getFeatureWriter, getFeatureWriter, getFeatureWriter, getFeatureWriterAppend, getLockingManager, getUnsupportedFilter, getView, updateSchema |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected java.util.Map memory
protected java.util.Map schema
| Constructor Detail |
public MemoryDataStore()
public MemoryDataStore(FeatureCollection collection)
public MemoryDataStore(Feature[] array)
public MemoryDataStore(FeatureReader reader)
throws java.io.IOException
| Method Detail |
public void addFeatures(FeatureReader reader)
throws java.io.IOException
reader - New contents to add
java.io.IOException - If problems are encountered while adding
DataSourceException - See IOExceptionpublic void addFeatures(java.util.Collection collection)
You may use this to create a MemoryDataStore from a FeatureCollection.
collection - Collection of features to add
java.lang.IllegalArgumentException - If provided collection is emptypublic void addFeatures(Feature[] features)
features - Array of features to add
java.lang.IllegalArgumentException - If provided feature array is emptypublic void addFeature(Feature feature)
This is an internal opperation used for setting up MemoryDataStore - please use FeatureWriter for generatl use.
This method is willing to create new FeatureTypes for MemoryDataStore.
feature - Individual feature to add
protected java.util.Map features(java.lang.String typeName)
throws java.io.IOException
typeName -
java.io.IOException - If typeName cannot be foundpublic java.lang.String[] getTypeNames()
getTypeNames in interface DataStoregetTypeNames in class AbstractDataStoreorg.geotools.data.AbstractDataStore#getFeatureTypes()
public FeatureType getSchema(java.lang.String typeName)
throws java.io.IOException
typeName.
getSchema in interface DataStoregetSchema in class AbstractDataStoretypeName -
typeName
java.io.IOException
SchemaNotFoundException - DOCUMENT ME!AbstractDataStore.getSchema(java.lang.String)
public void createSchema(FeatureType featureType)
throws java.io.IOException
FeatureTypes are stored by typeName, an IOException will be thrown if the requested typeName is already in use.
createSchema in interface DataStorecreateSchema in class AbstractDataStorefeatureType - FeatureType to be added
java.io.IOException - If featureType already existsDataStore.createSchema(org.geotools.feature.FeatureType)
public FeatureReader getFeatureReader(java.lang.String typeName)
throws java.io.IOException
typeName.
Implements getFeatureReader contract for AbstractDataStore.
getFeatureReader in class AbstractDataStoretypeName -
java.io.IOException - If typeName could not be found
DataSourceException - See IOExceptionAbstractDataStore.getFeatureSource(java.lang.String)
public FeatureWriter createFeatureWriter(java.lang.String typeName,
Transaction transaction)
throws java.io.IOException
typeName.
Implements getFeatureWriter contract for AbstractDataStore.
createFeatureWriter in class AbstractDataStoretypeName - name of FeatureType we wish to modifytransaction - a feature writer
java.io.IOException - If writer cannot be obtained for typeName
DataSourceException - See IOExceptionAbstractDataStore.getFeatureSource(java.lang.String)
protected com.vividsolutions.jts.geom.Envelope getBounds(Query query)
throws java.io.IOException
AbstractDataStoreWill return null if there is not fast way to compute the bounds. Since it's based on some kind of header/cached information, it's not guaranteed to be real bound of the features
getBounds in class AbstractDataStorequery -
java.io.IOExceptionorg.geotools.data.AbstractDataStore#getBounds(java.lang.String,
org.geotools.data.Query)
protected int getCount(Query query)
throws java.io.IOException
AbstractDataStore
If getBounds(Query) returns -1 due to expense consider
using getFeatures(Query).getCount() as a an alternative.
getCount in class AbstractDataStorequery - Contains the Filter and MaxFeatures to find the bounds for.
-1
if count is too expensive to calculate or any errors or occur.
java.io.IOException - if there are errors getting the countorg.geotools.data.AbstractDataStore#getCount(java.lang.String, org.geotools.data.Query)
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||