Package org.geotools.data.shapefile.fid
Class IndexedFidWriter
Object
IndexedFidWriter
- All Implemented Interfaces:
AutoCloseable
,FileReader
,FileWriter
The Writer writes out the fid and record number of features to the fid index file.
- Author:
- Jesse
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionIndexedFidWriter
(ShpFiles shpFiles) Creates a new instance and writes the fids to a storage file which is replaces the original on close().IndexedFidWriter
(ShpFiles shpFiles, StorageFile storageFile) Create a new instance
Note:StorageFile.replaceOriginal()
is NOT called. -
Method Summary
-
Field Details
-
HEADER_SIZE
public static final int HEADER_SIZE- See Also:
-
RECORD_SIZE
public static final int RECORD_SIZE- See Also:
-
EMPTY_WRITER
-
-
Constructor Details
-
IndexedFidWriter
Creates a new instance and writes the fids to a storage file which is replaces the original on close().- Parameters:
shpFiles
- The shapefiles to used- Throws:
IOException
-
IndexedFidWriter
Create a new instance
Note:StorageFile.replaceOriginal()
is NOT called. CallIndexedFidWriter(ShpFiles)
for that behaviour.- Parameters:
shpFiles
- The shapefiles to usedstorageFile
- the storage file that will be written to. It will NOT be closed.- Throws:
IOException
-
-
Method Details
-
hasNext
- Throws:
IOException
-
next
- Throws:
IOException
-
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
IOException
-
remove
Increments the fidIndex by 1.Indicates that a feature was removed from the location. This is intended to ensure that FIDs stay constant over time. Consider the following case of 5 features.
- feature 1 has fid typename.0
- feature 2 has fid typename.1
- feature 3 has fid typename.2
- feature 4 has fid typename.3
- feature 5 has fid typename.4
when feature 3 is removed/deleted the following usage of the write should take place:
- next(); (move to feature 1)
- next(); (move to feature 2)
- next(); (move to feature 3)
- remove();(delete feature 3)
- next(); (move to feature 4)
- // optional write(); (write feature 4)
- next(); (move to feature 5)
- write(); (write(feature 5)
- Throws:
IOException
- if current fid index is null
-
write
Writes the current fidIndex. Writes to the same place in the file each time. Onlynext()
moves forward in the file.- Throws:
IOException
- See Also:
-
isClosed
public boolean isClosed() -
id
Description copied from interface:FileWriter
An id for the writer. This is only used for debugging.- Specified by:
id
in interfaceFileReader
- Specified by:
id
in interfaceFileWriter
- Returns:
- id for the writer.
-