org.apache.poi.poifs.storage
Class BATBlock

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

public class BATBlock
extends org.apache.poi.poifs.storage.BigBlock

A block of block allocation table entries. BATBlocks are created only through a static factory method: createBATBlocks.

Author:
Marc Johnson (mjohnson at apache dot org)

Method Summary
static int calculateStorageRequirements(int entryCount)
          Calculate how many BATBlocks are needed to hold a specified number of BAT entries.
static int calculateXBATStorageRequirements(int entryCount)
          Calculate how many XBATBlocks are needed to hold a specified number of BAT entries.
static BATBlock[] createBATBlocks(int[] entries)
          Create an array of BATBlocks from an array of int block allocation table entries
static BATBlock[] createXBATBlocks(int[] entries, int startBlock)
          Create an array of XBATBlocks from an array of int block allocation table entries
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.
static int entriesPerBlock()
           
static int entriesPerXBATBlock()
           
static int getXBATChainOffset()
           
 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
 

Method Detail

createBATBlocks

public static BATBlock[] createBATBlocks(int[] entries)
Create an array of BATBlocks from an array of int block allocation table entries
Parameters:
entries - the array of int entries
Returns:
the newly created array of BATBlocks

createXBATBlocks

public static BATBlock[] createXBATBlocks(int[] entries,
                                          int startBlock)
Create an array of XBATBlocks from an array of int block allocation table entries
Parameters:
entries - the array of int entries
startBlock - the start block of the array of XBAT blocks
Returns:
the newly created array of BATBlocks

calculateStorageRequirements

public static int calculateStorageRequirements(int entryCount)
Calculate how many BATBlocks are needed to hold a specified number of BAT entries.
Parameters:
entryCount - the number of entries
Returns:
the number of BATBlocks needed

calculateXBATStorageRequirements

public static int calculateXBATStorageRequirements(int entryCount)
Calculate how many XBATBlocks are needed to hold a specified number of BAT entries.
Parameters:
entryCount - the number of entries
Returns:
the number of XBATBlocks needed

entriesPerBlock

public static final int entriesPerBlock()
Returns:
number of entries per block

entriesPerXBATBlock

public static final int entriesPerXBATBlock()
Returns:
number of entries per XBAT block

getXBATChainOffset

public static final int getXBATChainOffset()
Returns:
offset of chain index of XBAT block

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.