|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ObjectAbstractFeatureSource
AbstractFeatureStore
public abstract class AbstractFeatureStore
This is a starting point for providing your own FeatureStore implementation.
modules/library/main (gt-main.jar)
Field Summary | |
---|---|
protected Transaction |
transaction
Current Transaction this FeatureSource |
Fields inherited from class AbstractFeatureSource |
---|
hints, queryCapabilities |
Constructor Summary | |
---|---|
AbstractFeatureStore()
|
|
AbstractFeatureStore(Set hints)
This constructors allows to set the supported hints |
Method Summary | |
---|---|
List<FeatureId> |
addFeatures(FeatureCollection<SimpleFeatureType,SimpleFeature> collection)
Adds all features from the passed feature collection to the datasource. |
Set<String> |
addFeatures(FeatureReader<SimpleFeatureType,SimpleFeature> reader)
Add Features from reader to this FeatureStore. |
Transaction |
getTransaction()
Retrieve the Transaction this FeatureSource |
void |
modifyFeatures(AttributeDescriptor[] type,
Object[] value,
Filter filter)
Modifies features matching filter . |
void |
modifyFeatures(AttributeDescriptor type,
Object value,
Filter filter)
Modifies features matching filter . |
void |
removeFeatures(Filter filter)
Removes features indicated by provided filter. |
void |
setFeatures(FeatureReader<SimpleFeatureType,SimpleFeature> reader)
Replace with contents of reader. |
void |
setTransaction(Transaction transaction)
Provides a transaction for commit/rollback control of this FeatureStore. |
Methods inherited from class AbstractFeatureSource |
---|
getBounds, getBounds, getCount, getDataStore, getFeatures, getFeatures, getFeatures, getInfo, getName, getQueryCapabilities, getSupportedHints, namedQuery |
Methods inherited from class Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface FeatureSource |
---|
addFeatureListener, getBounds, getBounds, getCount, getDataStore, getFeatures, getFeatures, getFeatures, getInfo, getName, getQueryCapabilities, getSchema, getSupportedHints, removeFeatureListener |
Field Detail |
---|
protected Transaction transaction
Constructor Detail |
---|
public AbstractFeatureStore()
public AbstractFeatureStore(Set hints)
hints
- Method Detail |
---|
public Transaction getTransaction()
getTransaction
in interface FeatureStore<SimpleFeatureType,SimpleFeature>
getTransaction
in class AbstractFeatureSource
public void modifyFeatures(AttributeDescriptor type, Object value, Filter filter) throws IOException
filter
.
Equivelent to:
FeatureWriter writer = dataStore.getFeatureWriter( typeName, filter, transaction );
while( writer.hasNext() ){
feature = writer.next();
feature.setAttribute( type.getName(), value );
writer.write();
}
writer.close();
Subclasses may override this method to perform the appropriate optimization for this result.
modifyFeatures
in interface FeatureStore<SimpleFeatureType,SimpleFeature>
type
- Attribute to modifyvalue
- Modification being made to typefilter
- Identifies features to modify
IOException
- If modification could not be madepublic void modifyFeatures(AttributeDescriptor[] type, Object[] value, Filter filter) throws IOException
filter
.
Equivelent to:
FeatureWriter writer = dataStore.getFeatureWriter( typeName, filter, transaction );
Feature feature;
while( writer.hasNext() ){
feature = writer.next();
feature.setAttribute( type[0].getName(), value[0] );
feature.setAttribute( type[1].getName(), value[1] );
...
feature.setAttribute( type[N].getName(), value[N] );
writer.write();
}
writer.close();
Subclasses may override this method to perform the appropriate optimization for this result.
modifyFeatures
in interface FeatureStore<SimpleFeatureType,SimpleFeature>
type
- Attributes to modifyvalue
- Modifications being made to typefilter
- Identifies features to modify
IOException
- If we could not modify Feature
DataSourceException
- See IOExceptionpublic Set<String> addFeatures(FeatureReader<SimpleFeatureType,SimpleFeature> reader) throws IOException
Equivelent to:
Set set = new HashSet();
FeatureWriter writer = dataStore.getFeatureWriter( typeName, true, transaction );
Featrue feature, newFeature;
while( reader.hasNext() ){
feature = reader.next();
newFeature = writer.next();
newFeature.setAttributes( feature.getAttribtues( null ) );
writer.write();
set.add( newfeature.getID() );
}
reader.close();
writer.close();
return set;
(If you don't have a FeatureReader
Subclasses may override this method to perform the appropriate optimization for this result.
reader
-
IOException
- If we encounter a problem encounter writing content
DataSourceException
- See IOExceptionorg.geotools.data.FeatureStore#addFeatures(org.geotools.data.FeatureReader)
public List<FeatureId> addFeatures(FeatureCollection<SimpleFeatureType,SimpleFeature> collection) throws IOException
FeatureStore
A list of FeatureIds is returned; one for each Feature in the order created. Please note that these FeatureIds may not be assigned until after a commit has been performed.
addFeatures
in interface FeatureStore<SimpleFeatureType,SimpleFeature>
collection
- The collection of features to add.
IOException
- if anything goes wrong.public void removeFeatures(Filter filter) throws IOException
Equivelent to:
FeatureWriter writer = dataStore.getFeatureWriter( typeName, filter, transaction );
Feature feature;
while( writer.hasNext() ){
feature = writer.next();
writer.remove();
}
writer.close();
Subclasses may override this method to perform the appropriate optimization for this result.
removeFeatures
in interface FeatureStore<SimpleFeatureType,SimpleFeature>
filter
- Identifies features to remove
IOException
public void setFeatures(FeatureReader<SimpleFeatureType,SimpleFeature> reader) throws IOException
Equivelent to:
FeatureWriter writer = dataStore.getFeatureWriter( typeName, false, transaction );
Feature feature, newFeature;
while( writer.hasNext() ){
feature = writer.next();
writer.remove();
}
while( reader.hasNext() ){
newFeature = reader.next();
feature = writer.next();
newFeature.setAttributes( feature.getAttributes( null ) );
writer.write();
}
reader.close();
writer.close();
Subclasses may override this method to perform the appropriate optimization for this result.
setFeatures
in interface FeatureStore<SimpleFeatureType,SimpleFeature>
reader
- Contents to replace with
IOException
- if anything goes wrong during replacement
DataSourceException
- See IOExceptionpublic void setTransaction(Transaction transaction)
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.
setTransaction
in interface FeatureStore<SimpleFeatureType,SimpleFeature>
transaction
- DOCUMENT ME!
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |