|
||||||||||
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.
Field Summary | |
---|---|
protected Transaction |
transaction
Current Transaction this SimpleFeatureSource is opperating against |
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 feature collection. |
Set<String> |
addFeatures(FeatureReader<SimpleFeatureType,SimpleFeature> reader)
Add Features from reader to this FeatureStore. |
Transaction |
getTransaction()
Retrieve the Transaction this SimpleFeatureSource is opperating against. |
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 |
modifyFeatures(Name[] attributeNames,
Object[] attributeValues,
Filter filter)
Modifies the attributes with the supplied values in all features selected by the given filter. |
void |
modifyFeatures(Name attributeName,
Object attributeValue,
Filter filter)
Modifies an attribute with the supplied value in all features selected by the given filter. |
void |
modifyFeatures(String[] names,
Object[] values,
Filter filter)
|
void |
modifyFeatures(String name,
Object attributeValue,
Filter 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)
Provide a transaction for commit/rollback control of a modifying operation on 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 SimpleFeatureStore |
---|
getFeatures, getFeatures, getFeatures |
Methods inherited from interface FeatureSource |
---|
addFeatureListener, getBounds, getBounds, getCount, getDataStore, 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 final 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(Name attributeName, Object attributeValue, Filter filter) throws IOException
FeatureStore
modifyFeatures
in interface FeatureStore<SimpleFeatureType,SimpleFeature>
attributeName
- the attribute to modifyattributeValue
- the new value for the attributefilter
- an OpenGIS filter
IOException
- if modification is not supported; if the value type does
not match the attribute type; or if there errors accessing the data sourcepublic void modifyFeatures(String name, Object attributeValue, Filter filter) throws IOException
modifyFeatures
in interface SimpleFeatureStore
IOException
public void modifyFeatures(String[] names, Object[] values, Filter filter) throws IOException
modifyFeatures
in interface SimpleFeatureStore
IOException
public final 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 void modifyFeatures(Name[] attributeNames, Object[] attributeValues, Filter filter) throws IOException
FeatureStore
modifyFeatures
in interface FeatureStore<SimpleFeatureType,SimpleFeature>
attributeNames
- the attributes to modifyattributeValues
- the new values for the attributesfilter
- an OpenGIS filter
IOException
- if the attribute and object arrays are not equal
in length; if the value types do not match the attribute types;
if modification is not supported; or if there errors accessing the
data sourcepublic 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.
However, these might not be assigned until after a commit has been performed.
addFeatures
in interface FeatureStore<SimpleFeatureType,SimpleFeature>
collection
- the collection of features to add
FeatureIds
of the newly added features
IOException
- if an error occurs modifying the data sourcepublic 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
FeatureStore
.
Transation t = new DefaultTransaction();
featureStore.setTransaction(t);
try {
featureStore.addFeatures( someFeatures );
t.commit();
} catch ( IOException ex ) {
// something went wrong;
ex.printStackTrace();
t.rollback();
} finally {
t.close();
}
setTransaction
in interface FeatureStore<SimpleFeatureType,SimpleFeature>
transaction
- the transaction
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |