| org.geotools.data.FeatureWriter
All known Subclasses: org.geotools.data.ogr.OGRDirectFeatureWriter, org.geotools.arcsde.data.ArcSDEFeatureWriter, org.geotools.data.FilteringFeatureWriter, org.geotools.data.property.PropertyFeatureWriter, org.geotools.data.EmptyFeatureWriter, org.geotools.data.jdbc.JDBCFeatureWriter, org.geotools.data.DiffFeatureWriter, org.geotools.data.postgis.VersionedFeatureWriter,
FeatureWriter | public interface FeatureWriter (Code) | | Provides the ability to write Features information.
Capabilities:
-
Similar API to FeatureReader
-
After aquiring a feature using next() you may call remove() or after
modification write(). If you do not call one of these two methods before
calling hasNext(), or next() for that matter, the feature will be left
unmodified.
-
This API allows modification, and Filter based modification to be written.
Please see AbstractDataStore for examples of implementing common
opperations using this API.
-
In order to add new Features, FeatureWriters capable of accepting new
content allow next() to be called when hasNext() is
false to
allow new feature creation. These changes
One thing that is really nice about the approach to adding content is that
the generation of FID is not left in the users control.
author: Ian Schneider author: Jody Garnett, Refractions Research version: $Id: FeatureWriter.java 22294 2006-10-20 00:55:40Z desruisseaux $ |
Method Summary | |
void | close() Release the underlying resources. | FeatureType | getFeatureType() FeatureType this reader has been configured to create. | boolean | hasNext() Query whether this FeatureWriter has another Feature. | Feature | next() Reads a Feature from the underlying AttributeReader. | void | remove() Removes current Feature, must be called before hasNext.
FeatureWriters will need to allow all FeatureSources of the same
typeName to issue a FeatureEvent event of type
FeatureEvent.FEATURES_REMOVED when this method is called.
If this FeatureWriter is opperating against a Transaction
FEATURES_REMOVED events should only be sent to FeatureSources operating
on the same Transaction. | void | write() Wrties the current Feature, must be called before hasNext.
FeautreWriters will need to allow FeatureSources of the same typeName to
issue a FeatureEvent:
-
FeatureEvent.FEATURES_ADDED: when next() has been called with hasNext()
equal to
false .
-
FeatureEvent.FEATURES_MODIFIED: when next has been called with hasNext()
equal to
true and the resulting Feature has indeed been
modified.
If this FeatureWriter is opperating against a Transaction the
FEATURES_MODIFIED or FEATURES_ADDED events should only be sent to
FeatureSources opperating on the same Transaction. |
close | void close() throws IOException(Code) | | Release the underlying resources.
throws: IOException - if there there are problems releasing underlying resources, orpossibly if close has been called (up to the implementation). |
getFeatureType | FeatureType getFeatureType()(Code) | | FeatureType this reader has been configured to create.
FeatureType this writer has been configured to create. |
hasNext | boolean hasNext() throws IOException(Code) | | Query whether this FeatureWriter has another Feature.
Please note: it is more efficient to construct your FeatureWriter with a
Filer (to skip entries you do not want), than to force the creation of
entire Features only to skip over them.
FeatureWriters that support append opperations will allow calls to next,
even when haveNext() returns false .
true if an additional Feature isavailable. throws: IOException - DOCUMENT ME! |
next | Feature next() throws IOException(Code) | | Reads a Feature from the underlying AttributeReader.
This method may return a Feature even though hasNext() returns
false , this allows FeatureWriters to provide an ability to
append content.
Feature from Query, or newly appended Feature throws: IOException - DOCUMENT ME! |
remove | void remove() throws IOException(Code) | | Removes current Feature, must be called before hasNext.
FeatureWriters will need to allow all FeatureSources of the same
typeName to issue a FeatureEvent event of type
FeatureEvent.FEATURES_REMOVED when this method is called.
If this FeatureWriter is opperating against a Transaction
FEATURES_REMOVED events should only be sent to FeatureSources operating
on the same Transaction. When Transaction commit() is called other
FeatureSources will be informed of the modifications.
When the current Feature has been provided as new content, this method
"cancels" the add opperation (and notification needed).
throws: IOException - DOCUMENT ME! |
write | void write() throws IOException(Code) | | Wrties the current Feature, must be called before hasNext.
FeautreWriters will need to allow FeatureSources of the same typeName to
issue a FeatureEvent:
-
FeatureEvent.FEATURES_ADDED: when next() has been called with hasNext()
equal to
false .
-
FeatureEvent.FEATURES_MODIFIED: when next has been called with hasNext()
equal to
true and the resulting Feature has indeed been
modified.
If this FeatureWriter is opperating against a Transaction the
FEATURES_MODIFIED or FEATURES_ADDED events should only be sent to
FeatureSources opperating on the same Transaction. When Transaction
commit() is called other FeatureSources will be informed of the
modifications.
If you have not called write() when you call hasNext() or next(), no
modification will occur().
throws: IOException - |
|
|