Interface BlockList

All Known Implementing Classes:
RawDataBlockList, SmallDocumentBlockList

public interface BlockList
Interface for lists of blocks that are mapped by block allocation tables
Author:
Marc Johnson (mjohnson at apache dot org
  • Method Summary

    Modifier and Type Method Description
    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 Details

    • 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()