org.geotools.data
Class TransactionStateDiff

Object
  extended by TransactionStateDiff
All Implemented Interfaces:
Transaction.State

public class TransactionStateDiff
extends Object
implements Transaction.State

A Transaction.State that keeps a difference table for use with AbstractDataStore.

Author:
Jody Garnett, Refractions Research
Module:
modules/library/main (gt-main.jar)

Field Summary
static SimpleFeature NULL
          A NullObject used to represent the absence of a SimpleFeature.
 
Constructor Summary
TransactionStateDiff(AbstractDataStore dataStore)
           
 
Method Summary
 void addAuthorization(String AuthID)
          Call back used for Transaction.setAuthorization()
 void commit()
          Will apply differences to store.
 Diff diff(String typeName)
           
 FeatureReader<SimpleFeatureType,SimpleFeature> reader(String typeName)
          Convience Method for a Transaction based FeatureReader.
 void rollback()
          Call back used for Transaction.rollback()
 void setTransaction(Transaction transaction)
          Provides configuration information for Transaction.State setTransaction is called with non null transaction when Transaction.State is putState into a Transaction.
 FeatureWriter<SimpleFeatureType,SimpleFeature> writer(String typeName, Filter filter)
          Convience Method for a Transaction based FeatureWriter Constructs a DiffFeatureWriter that works against this Transaction.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NULL

public static final SimpleFeature NULL
A NullObject used to represent the absence of a SimpleFeature.

This class is used by TransactionStateDiff as a placeholder to represent features that have been removed. The concept is generally useful and may wish to be taken out as a separate class (used for example to represent deleted rows in a shapefile).

Constructor Detail

TransactionStateDiff

public TransactionStateDiff(AbstractDataStore dataStore)
Method Detail

setTransaction

public void setTransaction(Transaction transaction)
Description copied from interface: Transaction.State
Provides configuration information for Transaction.State

setTransaction is called with non null transaction when Transaction.State is putState into a Transaction. This tranasction will be used to determine correct event notification.

setTransaction is called with null when removeState is called (usually during Transaction.close() ).

Specified by:
setTransaction in interface Transaction.State

diff

public Diff diff(String typeName)
          throws IOException
Throws:
IOException

addAuthorization

public void addAuthorization(String AuthID)
                      throws IOException
Description copied from interface: Transaction.State
Call back used for Transaction.setAuthorization()

Specified by:
addAuthorization in interface Transaction.State
Throws:
IOException
See Also:
Transaction.State.addAuthorization(java.lang.String)

commit

public void commit()
            throws IOException
Will apply differences to store.

Specified by:
commit in interface Transaction.State
Throws:
IOException
See Also:
Transaction.State.commit()

rollback

public void rollback()
              throws IOException
Description copied from interface: Transaction.State
Call back used for Transaction.rollback()

Specified by:
rollback in interface Transaction.State
Throws:
IOException
See Also:
Transaction.State.rollback()

reader

public FeatureReader<SimpleFeatureType,SimpleFeature> reader(String typeName)
                                                      throws IOException
Convience Method for a Transaction based FeatureReader.

Constructs a DiffFeatureReader that works against this Transaction.

Parameters:
typeName - TypeName to aquire a Reader on
Returns:
FeatureReader the mask orgional contents with against the current Differences recorded by the Tansasction State
Throws:
IOException - If typeName is not Manged by this Tansaction State

writer

public FeatureWriter<SimpleFeatureType,SimpleFeature> writer(String typeName,
                                                             Filter filter)
                                                      throws IOException
Convience Method for a Transaction based FeatureWriter

Constructs a DiffFeatureWriter that works against this Transaction.

Parameters:
typeName - Type Name to record differences against
filter -
Returns:
A FeatureWriter that records Differences against a FeatureReader
Throws:
IOException - If a FeatureRader could not be constucted to record differences against


Copyright © 1996-2009 Geotools. All Rights Reserved.