Class EvictingQueue<T>

org.elasticsearch.common.collect.EvictingQueue<T>
Type Parameters:
T - The type of elements in the queue.
All Implemented Interfaces:
<T>, <T>, <T>

public class EvictingQueue<T> extends implements <T>
An EvictingQueue is a non-blocking queue which is limited to a maximum size; when new elements are added to a full queue, elements are evicted from the head of the queue to accommodate the new elements.
  • Constructor Summary

    Constructors
    Constructor
    Description
    EvictingQueue​(int maximumSize)
    Construct a new EvictingQueue that holds maximumSize elements.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    add​(T t)
    Add the given element to the queue, possibly forcing an eviction from the head if remainingCapacity() is zero.
    boolean
    <? extends T> c)
    Add the given elements to the queue, possibly forcing evictions from the head if remainingCapacity() is zero or becomes zero during the execution of this method.
    void
     
    boolean
     o)
     
    boolean
    <?> c)
     
     
    boolean
     
    <T>
     
    boolean
    offer​(T t)
     
     
     
    int
     
     
    boolean
     o)
     
    boolean
    <?> c)
     
    boolean
    <?> c)
     
    int
     
    []
     
    <T1> T1[]
    toArray​(T1[] a)
     

    Methods inherited from class java.lang.

    , , , , , , , , , ,

    Methods inherited from interface java.util.

    , , , , , ,

    Methods inherited from interface java.lang.

  • Constructor Details

    • EvictingQueue

      public EvictingQueue(int maximumSize)
      Construct a new EvictingQueue that holds maximumSize elements.
      Parameters:
      maximumSize - The maximum number of elements that the queue can hold
      Throws:
      - if maximumSize is less than zero
  • Method Details

    • remainingCapacity

      public int remainingCapacity()
      Returns:
      the number of additional elements that the queue can accommodate before evictions occur
    • add

      public boolean add(T t)
      Add the given element to the queue, possibly forcing an eviction from the head if remainingCapacity() is zero.
      Specified by:
       in interface <T>
      Specified by:
       in interface <T>
      Parameters:
      t - the element to add
      Returns:
      true if the element was added (always the case for EvictingQueue
    • offer

      public boolean offer(T t)
      Specified by:
       in interface <T>
      See Also:
      add(Object)
    • remove

      public T remove()
      Specified by:
       in interface <T>
    • poll

      public T poll()
      Specified by:
       in interface <T>
    • element

      public T element()
      Specified by:
       in interface <T>
    • peek

      public T peek()
      Specified by:
       in interface <T>
    • size

      public int size()
      Specified by:
       in interface <T>
    • isEmpty

      public boolean isEmpty()
      Specified by:
       in interface <T>
    • contains

      public boolean contains( o)
      Specified by:
       in interface <T>
    • iterator

      public <T> iterator()
      Specified by:
       in interface <T>
      Specified by:
       in interface <T>
    • toArray

      public [] toArray()
      Specified by:
       in interface <T>
    • toArray

      public <T1> T1[] toArray(T1[] a)
      Specified by:
       in interface <T>
    • remove

      public boolean remove( o)
      Specified by:
       in interface <T>
    • containsAll

      public boolean containsAll(<?> c)
      Specified by:
       in interface <T>
    • addAll

      public boolean addAll(<? extends T> c)
      Add the given elements to the queue, possibly forcing evictions from the head if remainingCapacity() is zero or becomes zero during the execution of this method.
      Specified by:
       in interface <T>
      Parameters:
      c - the collection of elements to add
      Returns:
      true if any elements were added to the queue
    • removeAll

      public boolean removeAll(<?> c)
      Specified by:
       in interface <T>
    • retainAll

      public boolean retainAll(<?> c)
      Specified by:
       in interface <T>
    • clear

      public void clear()
      Specified by:
       in interface <T>