Package org.geotools.data.shapefile.fid
Class IndexedFidReader
- Object
-
- IndexedFidReader
-
- All Implemented Interfaces:
AutoCloseable,FIDReader,FileReader
public class IndexedFidReader extends Object implements FIDReader, FileReader, AutoCloseable
This object reads from a file the fid of a feature in a shapefile.- Author:
- Jesse
-
-
Constructor Summary
Constructors Constructor Description IndexedFidReader(ShpFiles shpFiles)IndexedFidReader(ShpFiles shpFiles, ReadableByteChannel in)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Release any resources associated with this readerintcurrentSHXIndex()Returns the record number of the feature in the shx or shp that is identified by the the last fid returned by next().longfindFid(String fid)Returns the offset to the location in the SHX file that the fid identifies.longgetCount()Returns the number of Fid Entries in the file.longgetCurrentFIDIndex()Returns the index that is appended to the typename to construct the fid.intgetRemoves()Returns the number of features that have been removed since the fid index was regenerated.voidgoTo(long recno)booleanhasNext()Returns whether another fid exists for this reader.Stringid()An id for the reader.Stringnext()Gets the next FID from the Reader.
-
-
-
Constructor Detail
-
IndexedFidReader
public IndexedFidReader(ShpFiles shpFiles) throws IOException
- Throws:
IOException
-
IndexedFidReader
public IndexedFidReader(ShpFiles shpFiles, ReadableByteChannel in) throws IOException
- Throws:
IOException
-
-
Method Detail
-
getCount
public long getCount()
Returns the number of Fid Entries in the file.- Returns:
- Returns the number of Fid Entries in the file.
-
getRemoves
public int getRemoves()
Returns the number of features that have been removed since the fid index was regenerated.- Returns:
- Returns the number of features that have been removed since the fid index was regenerated.
-
findFid
public long findFid(String fid) throws IOException
Returns the offset to the location in the SHX file that the fid identifies. This search take logN time.- Parameters:
fid- the fid to find.- Returns:
- Returns the record number of the record in the SHX file that the fid identifies. Will return -1 if the fid was not found.
- Throws:
IOException
-
goTo
public void goTo(long recno) throws IOException- Throws:
IOException
-
close
public void close() throws IOExceptionDescription copied from interface:FIDReaderRelease any resources associated with this reader- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceFIDReader- Throws:
IOException
-
hasNext
public boolean hasNext() throws IOExceptionDescription copied from interface:FIDReaderReturns whether another fid exists for this reader.- Specified by:
hasNextin interfaceFIDReader- Returns:
trueif more content exists- Throws:
IOException
-
next
public String next() throws IOException
Description copied from interface:FIDReaderGets the next FID from the Reader.- Specified by:
nextin interfaceFIDReader- Returns:
- Next featureID
- Throws:
IOException
-
currentSHXIndex
public int currentSHXIndex()
Returns the record number of the feature in the shx or shp that is identified by the the last fid returned by next().- Returns:
- Returns the record number of the feature in the shx or shp that is identified by the the last fid returned by next().
-
getCurrentFIDIndex
public long getCurrentFIDIndex()
Returns the index that is appended to the typename to construct the fid.- Returns:
- the index that is appended to the typename to construct the fid.
-
id
public String id()
Description copied from interface:FileReaderAn id for the reader. This is only used for debugging.- Specified by:
idin interfaceFileReader- Returns:
- id for the reader.
-
-