org.geotools.data
Interface FeatureStore

All Superinterfaces:
FeatureSource
All Known Subinterfaces:
FeatureLocking
All Known Implementing Classes:
AbstractFeatureLocking, AbstractFeatureStore, JDBCFeatureLocking, JDBCFeatureStore, PostgisFeatureLocking, WFSFeatureStore

public interface FeatureStore
extends FeatureSource

Provides storage of data for Features.

Individual shapefiles, database tables, etc. are modified through this interface.

This is a prototype DataSource replacement please see FeatureSource for more information.

Version:
$Id: FeatureStore.java 17702 2006-01-23 00:08:55Z desruisseaux $
Author:
Jody Garnett, Ray Gallagher, Rob Hranac, TOPP, Chris Holmes, TOPP

Method Summary
 java.util.Set addFeatures(FeatureReader reader)
          Adds all features from the passed feature collection to the datasource.
 Transaction getTransaction()
          Used to access the Transaction this DataSource is currently opperating against.
 void modifyFeatures(AttributeType[] type, java.lang.Object[] value, Filter filter)
          Modifies the passed attribute types with the passed objects in all features that correspond to the passed OGS filter.
 void modifyFeatures(AttributeType type, java.lang.Object value, Filter filter)
          Modifies the passed attribute types with the passed objects in all features that correspond to the passed OGS filter.
 void removeFeatures(Filter filter)
          Removes all of the features specificed by the passed filter from the collection.
 void setFeatures(FeatureReader reader)
          Deletes the all the current Features of this datasource and adds the new collection.
 void setTransaction(Transaction transaction)
          Provides a transaction for commit/rollback control of this FeatureStore.
 
Methods inherited from interface org.geotools.data.FeatureSource
addFeatureListener, getBounds, getBounds, getCount, getDataStore, getFeatures, getFeatures, getFeatures, getSchema, removeFeatureListener
 

Method Detail

addFeatures

public java.util.Set addFeatures(FeatureReader reader)
                          throws java.io.IOException
Adds all features from the passed feature collection to the datasource.

Parameters:
reader - The reader from which to add the features.
Returns:
the FeatureIds of the newly added features.
Throws:
java.io.IOException - if anything goes wrong.

removeFeatures

public void removeFeatures(Filter filter)
                    throws java.io.IOException
Removes all of the features specificed by the passed filter from the collection.

Parameters:
filter - An OpenGIS filter; specifies which features to remove.
Throws:
java.io.IOException - If anything goes wrong.

modifyFeatures

public void modifyFeatures(AttributeType[] type,
                           java.lang.Object[] value,
                           Filter filter)
                    throws java.io.IOException
Modifies the passed attribute types with the passed objects in all features that correspond to the passed OGS filter.

Parameters:
type - The attributes to modify.
value - The values to put in the attribute types.
filter - An OGC filter to note which attributes to modify.
Throws:
java.io.IOException - if the attribute and object arrays are not eqaul length, if the object types do not match the attribute types, or if there are backend errors.

modifyFeatures

public void modifyFeatures(AttributeType type,
                           java.lang.Object value,
                           Filter filter)
                    throws java.io.IOException
Modifies the passed attribute types with the passed objects in all features that correspond to the passed OGS filter. A convenience method for single attribute modifications.

Parameters:
type - The attributes to modify.
value - The values to put in the attribute types.
filter - An OGC filter to note which attributes to modify.
Throws:
java.io.IOException - If modificaton is not supported, if the object type do not match the attribute type.

setFeatures

public void setFeatures(FeatureReader reader)
                 throws java.io.IOException
Deletes the all the current Features of this datasource and adds the new collection. Primarily used as a convenience method for file datasources.

Parameters:
reader - - the collection to be written
Throws:
java.io.IOException - if there are any datasource errors.

setTransaction

public void setTransaction(Transaction transaction)
Provides a transaction for commit/rollback control of this FeatureStore.

This method operates as a replacement for setAutoCommitMode. When a transaction is provided you are no longer automatically committing.

In order to return to AutoCommit mode supply the Transaction.AUTO_COMMIT to this method. Since this represents a return to AutoCommit mode the previous Transaction will be commited.

Parameters:
transaction - DOCUMENT ME!

getTransaction

public Transaction getTransaction()
Used to access the Transaction this DataSource is currently opperating against.

Example Use: adding features to a road DataSource


 Transaction t = roads.getTransaction();
 try{
     roads.addFeatures( features );
     roads.getTransaction().commit();
 }
 catch( IOException erp ){
     //something went wrong;
     roads.getTransaction().rollback();
 }
 

Returns:
Transaction in use, or Transaction.AUTO_COMMIT


Copyright © GeoTools. All Rights Reserved.