public class MongoFeatureWriter extends Object implements SimpleFeatureWriter
Constructor and Description |
---|
MongoFeatureWriter(DBCollection collection,
SimpleFeatureType featureType,
MongoFeatureStore featureStore) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Release the underlying resources.
|
SimpleFeatureType |
getFeatureType()
FeatureType this reader has been configured to create.
|
boolean |
hasNext()
Query whether this FeatureWriter has another Feature.
|
SimpleFeature |
next()
Reads a Feature from the underlying AttributeReader.
|
void |
remove()
Removes current Feature, must be called before hasNext.
|
void |
write()
Writes the current Feature, must be called before hasNext.
|
public MongoFeatureWriter(DBCollection collection, SimpleFeatureType featureType, MongoFeatureStore featureStore)
public SimpleFeatureType getFeatureType()
FeatureWriter
getFeatureType
in interface FeatureWriter<SimpleFeatureType,SimpleFeature>
public boolean hasNext() throws IOException
FeatureWriter
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 operations will allow calls to next, even when
hasNext() returns false
.
hasNext
in interface FeatureWriter<SimpleFeatureType,SimpleFeature>
true
if an additional Feature
is available, false
if not.IOException
- if an I/O error occurs.public SimpleFeature next() throws IOException
FeatureWriter
This method may return a Feature even though hasNext() returns false
, this
allows FeatureWriters to provide an ability to append content.
next
in interface FeatureWriter<SimpleFeatureType,SimpleFeature>
IOException
- if the writer has been closed or an I/O error occurs reading the next
Feature
.public void write() throws IOException
FeatureWriter
FeautreWriters will need to allow FeatureSources of the same typeName to issue a FeatureEvent:
false
.
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().
write
in interface FeatureWriter<SimpleFeatureType,SimpleFeature>
IOException
public void remove() throws IOException
FeatureWriter
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).
remove
in interface FeatureWriter<SimpleFeatureType,SimpleFeature>
IOException
- DOCUMENT ME!public void close() throws IOException
FeatureWriter
close
in interface Closeable
close
in interface AutoCloseable
close
in interface FeatureWriter<SimpleFeatureType,SimpleFeature>
IOException
- if there there are problems releasing underlying resources, or possibly
if close has been called (up to the implementation).Copyright © 1996–2019 Geotools. All rights reserved.