Class IndexedFidWriter

    • Constructor Detail

      • IndexedFidWriter

        public IndexedFidWriter​(ShpFiles shpFiles)
                         throws IOException
        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
    • Method Detail

      • remove

        public void remove()
                    throws IOException
        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

        public void write()
                   throws IOException
        Writes the current fidIndex. Writes to the same place in the file each time. Only next() moves forward in the file.
        Throws:
        IOException
        See Also:
        next(), remove()
      • isClosed

        public boolean isClosed()
      • id

        public String id()
        Description copied from interface: FileWriter
        An id for the writer. This is only used for debugging.
        Specified by:
        id in interface FileReader
        Specified by:
        id in interface FileWriter
        Returns:
        id for the writer.