Class IndexWriter.InboundWriter

  • Enclosing class:
    IndexWriter

    public static class IndexWriter.InboundWriter
    extends java.lang.Object
    A writer for inbound references. The object and the inbound reference are stored in a segment based on the object ID. Later the segments are sorted by object ID and then by reference ID before being written out.
    • Constructor Detail

      • InboundWriter

        public InboundWriter​(int size,
                             java.io.File indexFile)
                      throws java.io.IOException
        Construct an inbound writer.
        Parameters:
        size - the number of entries
        indexFile - the index file to be written to
        Throws:
        java.io.IOException - if there is a problem writing the file
    • Method Detail

      • log

        public void log​(int objectIndex,
                        int refIndex,
                        boolean isPseudo)
                 throws java.io.IOException
        Record an inbound reference.
        Parameters:
        objectIndex - the object has a reference from ref
        refIndex - the reference
        isPseudo - is this a pseudo reference, first entry of the outbounds (e.g. class ID)
        Throws:
        java.io.IOException - if there is a problem with the write
      • flush

        public IIndexReader.IOne2ManyObjectsIndex flush​(IProgressListener monitor,
                                                        IndexWriter.KeyWriter keyWriter)
                                                 throws java.io.IOException
        Write out all the data as one big file.
        Parameters:
        monitor - to show progress, report errors
        keyWriter - to write out the keys
        Returns:
        a reader
        Throws:
        java.io.IOException - if there is a problem reading or writing files
      • cancel

        public void cancel()
        Terminate the InboundWriter and delete any files which have been written so far. Use to cancel part way through.
      • close

        public void close()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • getIndexFile

        public java.io.File getIndexFile()