Class CSVFeatureWriter
- All Implemented Interfaces:
Closeable
,AutoCloseable
,FeatureWriter<SimpleFeatureType,
SimpleFeature>
- Author:
- Jody Garnett (Boundless), Lee Breisacher, Ian Turton (Astun)
-
Constructor Summary
ConstructorsConstructorDescriptionCSVFeatureWriter
(CSVFileState csvFileState, CSVStrategy csvStrategy) CSVFeatureWriter
(CSVFileState csvFileState, CSVStrategy csvStrategy, Query query) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Release the underlying resources.FeatureType this reader has been configured to create.boolean
hasNext()
Query whether this FeatureWriter has another Feature.next()
Reads a Feature from the underlying AttributeReader.void
remove()
Mark ourcurrentFeature
feature as null, it will be skipped when written effectively removing it.void
write()
Writes the current Feature, must be called before hasNext.
-
Constructor Details
-
CSVFeatureWriter
- Throws:
IOException
-
CSVFeatureWriter
public CSVFeatureWriter(CSVFileState csvFileState, CSVStrategy csvStrategy, Query query) throws IOException - Throws:
IOException
-
-
Method Details
-
getFeatureType
Description copied from interface:FeatureWriter
FeatureType this reader has been configured to create.- Specified by:
getFeatureType
in interfaceFeatureWriter<SimpleFeatureType,
SimpleFeature> - Returns:
- FeatureType this writer has been configured to create.
-
hasNext
Description copied from interface:FeatureWriter
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 operations will allow calls to next, even when hasNext() returns
false
.- Specified by:
hasNext
in interfaceFeatureWriter<SimpleFeatureType,
SimpleFeature> - Returns:
true
if an additionalFeature
is available,false
if not.- Throws:
IOException
- if an I/O error occurs.
-
next
Description copied from interface:FeatureWriter
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.- Specified by:
next
in interfaceFeatureWriter<SimpleFeatureType,
SimpleFeature> - Returns:
- Feature from Query, or newly appended Feature
- Throws:
IOException
- if the writer has been closed or an I/O error occurs reading the nextFeature
.IllegalArgumentException
NoSuchElementException
-
remove
Mark ourcurrentFeature
feature as null, it will be skipped when written effectively removing it.- Specified by:
remove
in interfaceFeatureWriter<SimpleFeatureType,
SimpleFeature> - Throws:
IOException
-
write
Description copied from interface:FeatureWriter
Writes 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().
- Specified by:
write
in interfaceFeatureWriter<SimpleFeatureType,
SimpleFeature> - Throws:
IOException
- FeatureEvent.FEATURES_ADDED: when next() has been called with hasNext() equal to
-
close
Description copied from interface:FeatureWriter
Release the underlying resources.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceFeatureWriter<SimpleFeatureType,
SimpleFeature> - Throws:
IOException
- if there there are problems releasing underlying resources, or possibly if close has been called (up to the implementation).
-