org.apache.poi.poifs.storage
Interface BlockList

All Known Implementing Classes:
RawDataBlockList, SmallDocumentBlockList

public interface BlockList

Interface for lists of blocks that are mapped by block allocation tables


Method Summary
 int blockCount()
           
 ListManagedBlock[] fetchBlocks(int startBlock, int headerPropertiesStartBlock)
          get the blocks making up a particular stream in the list.
 ListManagedBlock remove(int index)
          remove and return the specified block from the list
 void setBAT(BlockAllocationTableReader bat)
          set the associated BlockAllocationTable
 void zap(int index)
          remove the specified block from the list
 

Method Detail

zap

void zap(int index)
remove the specified block from the list

Parameters:
index - the index of the specified block; if the index is out of range, that's ok

remove

ListManagedBlock remove(int index)
                        throws java.io.IOException
remove and return the specified block from the list

Parameters:
index - the index of the specified block
Returns:
the specified block
Throws:
java.io.IOException - if the index is out of range or has already been removed

fetchBlocks

ListManagedBlock[] fetchBlocks(int startBlock,
                               int headerPropertiesStartBlock)
                               throws java.io.IOException
get the blocks making up a particular stream in the list. The blocks are removed from the list.

Parameters:
startBlock - the index of the first block in the stream
headerPropertiesStartBlock - the index of the first header block in the stream
Returns:
the stream as an array of correctly ordered blocks
Throws:
java.io.IOException - if blocks are missing

setBAT

void setBAT(BlockAllocationTableReader bat)
            throws java.io.IOException
set the associated BlockAllocationTable

Parameters:
bat - the associated BlockAllocationTable
Throws:
java.io.IOException

blockCount

int blockCount()