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
    fetchBlocks(int startBlock)
    get the blocks making up a particular stream in the list.
    remove(int index)
    remove and return the specified block from the list
    void
    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 IOException
      remove and return the specified block from the list
      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

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

      void setBAT(BlockAllocationTableReader bat) throws IOException
      set the associated BlockAllocationTable
      Parameters:
      bat - the associated BlockAllocationTable
      Throws:
      IOException