org.apache.poi.poifs.storage
Class HeaderBlockWriter

java.lang.Object
  |
  +--org.apache.poi.poifs.storage.BigBlock
        |
        +--org.apache.poi.poifs.storage.HeaderBlockWriter
All Implemented Interfaces:
BlockWritable, HeaderBlockConstants

public class HeaderBlockWriter
extends org.apache.poi.poifs.storage.BigBlock
implements HeaderBlockConstants

The block containing the archive header

Author:
Marc Johnson (mjohnson at apache dot org)

Fields inherited from interface org.apache.poi.poifs.storage.HeaderBlockConstants
_bat_array_offset, _bat_count_offset, _max_bats_in_header, _property_start_offset, _sbat_start_offset, _signature, _signature_offset, _xbat_count_offset, _xbat_start_offset
 
Constructor Summary
HeaderBlockWriter()
          Create a single instance initialized with default values
 
Method Summary
protected  void doWriteData(java.io.OutputStream stream, byte[] data)
          Default implementation of write for extending classes that contain their data in a simple array of bytes.
 BATBlock[] setBATBlocks(int blockCount, int startBlock)
          Set BAT block parameters.
 void setPropertyStart(int startBlock)
          Set start of Property Table
 void setSBATStart(int startBlock)
          Set start of small block allocation table
 void writeBlocks(java.io.OutputStream stream)
          Write the storage to an OutputStream
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HeaderBlockWriter

public HeaderBlockWriter()
Create a single instance initialized with default values
Method Detail

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

doWriteData

protected void doWriteData(java.io.OutputStream stream,
                           byte[] data)
                    throws java.io.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:
java.io.IOException - on problems writing to the specified stream.

writeBlocks

public void writeBlocks(java.io.OutputStream stream)
                 throws java.io.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:
java.io.IOException - on problems writing to the specified stream


Copyright © 2002 Apache jakarta-poi project. All Rights Reserved.