public class FilteringFeatureWriter extends Object implements FeatureWriter<SimpleFeatureType,SimpleFeature>
This implementation writes out content furing the hasNext() method. This allows the implementation to "peek" ahead.
This FeatureWriter does not support the addition of new content.
| Constructor and Description |
|---|
FilteringFeatureWriter(FeatureWriter<SimpleFeatureType,SimpleFeature> writer,
Filter filter) |
| 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 if we have more content.
|
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 FilteringFeatureWriter(FeatureWriter<SimpleFeatureType,SimpleFeature> writer, Filter filter)
public SimpleFeatureType getFeatureType()
FeatureWritergetFeatureType in interface FeatureWriter<SimpleFeatureType,SimpleFeature>public SimpleFeature next() throws IOException
FeatureWriterThis 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 remove()
throws IOException
FeatureWriterFeatureWriters 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>IOExceptionpublic void write()
throws IOException
FeatureWriterFeautreWriters 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>IOExceptionpublic boolean hasNext()
throws IOException
hasNext in interface FeatureWriter<SimpleFeatureType,SimpleFeature>IOException - If writer we are filtering encounters a problempublic void close()
throws IOException
FeatureWriterclose in interface Closeableclose in interface AutoCloseableclose 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–2021 Geotools. All rights reserved.