Class HeaderBlockWriter

    • Constructor Detail

      • HeaderBlockWriter

        public HeaderBlockWriter​(int blockSize)
        Create a single instance initialized with default values
    • Method Detail

      • getBigBlockSize

        public int getBigBlockSize()
      • setBATBlocks

        public BATBlock[] setBATBlocks​(int blockCount,
                                       int startBlock,
                                       int size)
        Set BAT block parameters. Assumes that all BAT blocks are contiguous. Will construct XBAT blocks if necessary and return the array of newly constructed XBAT blocks.
        Parameters:
        blockCount - count of BAT blocks
        startBlock - index of first BAT block
        Returns:
        array of XBAT blocks; may be zero length, will not be null
      • setPropertyStart

        public void setPropertyStart​(int startBlock)
        Set start of Property Table
        Parameters:
        startBlock - the index of the first block of the Property Table
      • setSBATStart

        public void setSBATStart​(int startBlock)
        Set start of small block allocation table
        Parameters:
        startBlock - the index of the first big block of the small block allocation table
      • setSBATBlockCount

        public void setSBATBlockCount​(int count)
        Set count of SBAT blocks
        Parameters:
        count - the number of SBAT blocks
      • doWriteData

        protected void doWriteData​(OutputStream stream,
                                   byte[] data)
                            throws IOException
        Default implementation of write for extending classes that contain their data in a simple array of bytes.
        Parameters:
        stream - the OutputStream to which the data should be written.
        data - the byte array of to be written.
        Throws:
        IOException - on problems writing to the specified stream.
      • writeBlocks

        public void writeBlocks​(OutputStream stream)
                         throws IOException
        Write the storage to an OutputStream
        Specified by:
        writeBlocks in interface BlockWritable
        Parameters:
        stream - the OutputStream to which the stored data should be written
        Throws:
        IOException - on problems writing to the specified stream