Class HeaderBlockWriter

java.lang.Object
org.docx4j.org.apache.poi.poifs.storage.HeaderBlockWriter
All Implemented Interfaces:
BlockWritable, HeaderBlockConstants

public class HeaderBlockWriter extends Object implements HeaderBlockConstants, BlockWritable
The block containing the archive header
Author:
Marc Johnson (mjohnson at apache dot org)
  • Constructor Details

    • HeaderBlockWriter

      public HeaderBlockWriter(POIFSBigBlockSize bigBlockSize)
      Create a single instance initialized with default values
    • HeaderBlockWriter

      public HeaderBlockWriter(HeaderBlock headerBlock)
      Create a single instance initialized with the specified existing values
  • Method Details

    • setBATBlocks

      public BATBlock[] setBATBlocks(int blockCount, int startBlock)
      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
    • writeBlocks

      public void writeBlocks(OutputStream stream) throws IOException
      Write the block's data 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
    • writeBlock

      public void writeBlock(ByteBuffer block) throws IOException
      Write the block's data to an existing block
      Parameters:
      block - the ByteBuffer of the block to which the stored data should be written
      Throws:
      IOException - on problems writing to the block