Class RawDataBlockList

java.lang.Object
loci.poi.poifs.storage.RawDataBlockList
All Implemented Interfaces:
BlockList

public class RawDataBlockList extends Object
A list of RawDataBlocks instances, and methods to manage the list
Author:
Marc Johnson (mjohnson at apache dot org
  • Field Details

  • Constructor Details

    • RawDataBlockList

      public RawDataBlockList(loci.common.RandomAccessInputStream stream, int size) throws IOException
      Constructor RawDataBlockList
      Parameters:
      stream - the InputStream from which the data will be read
      Throws:
      IOException - on I/O errors, and if an incomplete block is read
  • Method Details

    • getBigBlockSize

      public int getBigBlockSize()
    • getBlocks

      public ListManagedBlock[] getBlocks()
    • 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
    • remove

      public ListManagedBlock remove(int index) throws 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:
      IOException - if the index is out of range or has already been removed
    • fetchBlocks

      public ListManagedBlock[] fetchBlocks(int startBlock) throws 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
      Returns:
      the stream as an array of correctly ordered blocks
      Throws:
      IOException - if blocks are missing
    • setBAT

      public void setBAT(BlockAllocationTableReader bat) throws IOException
      set the associated BlockAllocationTable
      Specified by:
      setBAT in interface BlockList
      Parameters:
      bat - the associated BlockAllocationTable
      Throws:
      IOException