org.apache.poi.poifs.storage
Class SmallDocumentBlockList

java.lang.Object
  extended by org.apache.poi.poifs.storage.SmallDocumentBlockList
All Implemented Interfaces:
BlockList

public class SmallDocumentBlockList
extends java.lang.Object

A list of SmallDocumentBlocks instances, and methods to manage the list

Author:
Marc Johnson (mjohnson at apache dot org)

Constructor Summary
SmallDocumentBlockList(java.util.List blocks)
          Constructor SmallDocumentBlockList
 
Method Summary
 int blockCount()
          Returns the count of the number of blocks
 ListManagedBlock[] fetchBlocks(int startBlock, int headerPropertiesStartBlock)
          get the blocks making up a particular stream in the list.
protected  ListManagedBlock get(int index)
          Unit testing method.
protected  int remainingBlocks()
          Returns the number of remaining blocks
 ListManagedBlock remove(int index)
          remove and return the specified block from the list
 void setBAT(BlockAllocationTableReader bat)
          set the associated BlockAllocationTable
protected  void setBlocks(ListManagedBlock[] blocks)
          provide blocks to manage
 void zap(int index)
          remove the specified block from the list
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SmallDocumentBlockList

public SmallDocumentBlockList(java.util.List blocks)
Constructor SmallDocumentBlockList

Parameters:
blocks - a list of SmallDocumentBlock instances
Method Detail

setBlocks

protected void setBlocks(ListManagedBlock[] blocks)
provide blocks to manage

Parameters:
blocks - blocks to be managed

zap

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

Specified by:
zap in interface BlockList
Parameters:
index - the index of the specified block; if the index is out of range, that's ok

get

protected ListManagedBlock get(int index)
Unit testing method. Gets, without sanity checks or removing.


remove

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

Specified by:
remove in interface BlockList
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

public 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.

Specified by:
fetchBlocks in interface BlockList
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

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

Specified by:
setBAT in interface BlockList
Parameters:
bat - the associated BlockAllocationTable
Throws:
java.io.IOException

blockCount

public int blockCount()
Returns the count of the number of blocks

Specified by:
blockCount in interface BlockList

remainingBlocks

protected int remainingBlocks()
Returns the number of remaining blocks



Copyright 2012 The Apache Software Foundation or its licensors, as applicable.