Interface OffsetQueue<T>

Type Parameters:
T - the type of the items stored in the queue

public interface OffsetQueue<T>
A queue of T items indexed by offsets. The items are ordered in the queue according to their offset. The item with the smallest offset is the head of the queue. The item with the largest offset is the tail of the queue.
  • Method Summary

    Modifier and Type
    Method
    Description
    Return the item with the smallest offset in the queue.
    getHeadItems(int skip, int limit)
    Return #limit items after skipping #skip items from the queue.
    long
     
    getItem(long offset)
    Return the item at the given #offset.
    getMinOffsetQueue(long minOffset)
    Return an OffsetQueue offset queue which contains all the items from the current queue at an offset greater or equal to #minOffset.
    int
     
    long
     
    boolean
     
    void
    putItem(long offset, T item)
    Put an item in the queue at the given offset.
    void
    putItems(OffsetQueue<T> offsetQueue)
    Put all the items from the #offsetQueue in this queue.
  • Method Details

    • putItem

      void putItem(long offset, T item)
      Put an item in the queue at the given offset.
      Parameters:
      offset - the offset associated to the item
      item - the item to be stored at the given offset
    • putItems

      void putItems(OffsetQueue<T> offsetQueue)
      Put all the items from the #offsetQueue in this queue.
      Parameters:
      offsetQueue - the queue to be merged into this queue
    • getItem

      @CheckForNull T getItem(long offset)
      Return the item at the given #offset.
      Parameters:
      offset - the offset of the item to be returned
      Returns:
      the item ; or null if no item could be found at the given offset
    • getHeadItem

      @CheckForNull T getHeadItem()
      Return the item with the smallest offset in the queue.
      Returns:
      the first item in the queue ; or null if the queue is empty
    • getHeadItems

      @Nonnull Iterable<T> getHeadItems(int skip, int limit)
      Return #limit items after skipping #skip items from the queue.
      Parameters:
      skip - the number of items to skip
      limit - the maximum number of items to return. -1 will return all items.
      Returns:
      an iterable containing the items
    • getHeadOffset

      long getHeadOffset()
      Returns:
      the smallest offset stored in the queue ; or -1 if the queue is empty.
    • getTailOffset

      long getTailOffset()
      Returns:
      the largest offset stored in the queue ; or -1 if the queue is empty.
    • isEmpty

      boolean isEmpty()
      Returns:
      true if the queue is empty ; false otherwise
    • getSize

      int getSize()
      Returns:
      the number of items in the queue
    • getMinOffsetQueue

      @Nonnull OffsetQueue<T> getMinOffsetQueue(long minOffset)
      Return an OffsetQueue offset queue which contains all the items from the current queue at an offset greater or equal to #minOffset.
      Parameters:
      minOffset - the minimal offset of the items in the returned offset queue
      Returns:
      the offset queue