|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.geotools.data.shapefile.ShapefileFeatureWriter
public class ShapefileFeatureWriter
A FeatureWriter for ShapefileDataStore. Uses a write and annotate technique to avoid buffering attributes and geometries. Because the shapefile and dbf require header information which can only be obtained by reading the entire series of Features, the headers are updated after the initial write completes.
Field Summary | |
---|---|
protected ShapefileAttributeReader |
attReader
|
protected com.vividsolutions.jts.geom.Envelope |
bounds
|
protected org.opengis.feature.simple.SimpleFeature |
currentFeature
|
protected DbaseFileWriter |
dbfWriter
|
protected java.lang.Object[] |
emptyAtts
|
protected FeatureReader<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature> |
featureReader
|
protected org.opengis.feature.simple.SimpleFeatureType |
featureType
|
protected ShapeHandler |
handler
|
protected int |
records
|
protected int |
shapefileLength
|
protected ShapeType |
shapeType
|
protected ShpFiles |
shpFiles
|
protected ShapefileWriter |
shpWriter
|
protected java.util.Map<ShpFileType,StorageFile> |
storageFiles
|
protected java.lang.Object[] |
transferCache
|
protected byte[] |
writeFlags
|
Constructor Summary | |
---|---|
ShapefileFeatureWriter(java.lang.String typeName,
ShpFiles shpFiles,
ShapefileAttributeReader attsReader,
FeatureReader<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature> featureReader,
java.nio.charset.Charset charset)
|
Method Summary | |
---|---|
protected void |
clean()
Clean up our temporary write if there was one |
void |
close()
Release resources and flush the header information. |
protected void |
doClose()
|
protected void |
finalize()
In case someone doesn't close me. |
protected void |
flush()
Go back and update the headers with the required info. |
org.opengis.feature.simple.SimpleFeatureType |
getFeatureType()
FeatureType this reader has been configured to create. |
boolean |
hasNext()
Query whether this FeatureWriter has another Feature. |
org.opengis.feature.simple.SimpleFeature |
next()
Reads a Feature from the underlying AttributeReader. |
protected java.lang.String |
nextFeatureId()
Called when a new feature is being created and a new fid is required |
void |
remove()
Removes current Feature, must be called before hasNext. |
void |
write()
Wrties the current Feature, must be called before hasNext. |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected FeatureReader<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature> featureReader
protected ShapefileAttributeReader attReader
protected org.opengis.feature.simple.SimpleFeature currentFeature
protected org.opengis.feature.simple.SimpleFeatureType featureType
protected java.lang.Object[] emptyAtts
protected java.lang.Object[] transferCache
protected ShapeType shapeType
protected ShapeHandler handler
protected int shapefileLength
protected int records
protected byte[] writeFlags
protected ShapefileWriter shpWriter
protected DbaseFileWriter dbfWriter
protected java.util.Map<ShpFileType,StorageFile> storageFiles
protected com.vividsolutions.jts.geom.Envelope bounds
protected ShpFiles shpFiles
Constructor Detail |
---|
public ShapefileFeatureWriter(java.lang.String typeName, ShpFiles shpFiles, ShapefileAttributeReader attsReader, FeatureReader<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature> featureReader, java.nio.charset.Charset charset) throws java.io.IOException
java.io.IOException
Method Detail |
---|
protected void flush() throws java.io.IOException
java.io.IOException
- DOCUMENT ME!protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
- DOCUMENT ME!protected void clean() throws java.io.IOException
java.io.IOException
- DOCUMENT ME!public void close() throws java.io.IOException
close
in interface FeatureWriter<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
java.io.IOException
- DOCUMENT ME!protected void doClose() throws java.io.IOException
java.io.IOException
public org.opengis.feature.simple.SimpleFeatureType getFeatureType()
FeatureWriter
getFeatureType
in interface FeatureWriter<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
public boolean hasNext() throws java.io.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 opperations will allow calls to next,
even when haveNext() returns false
.
hasNext
in interface FeatureWriter<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
true
if an additional Feature
is
available.
java.io.IOException
- DOCUMENT ME!public org.opengis.feature.simple.SimpleFeature next() throws java.io.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<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
java.io.IOException
- DOCUMENT ME!protected java.lang.String nextFeatureId()
public void remove() throws java.io.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<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
java.io.IOException
- DOCUMENT ME!public void write() throws java.io.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<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |