Class AbstractQueueDecorator<E>

java.lang.Object
org.apache.commons.collections4.collection.AbstractCollectionDecorator<E>
org.apache.commons.collections4.queue.AbstractQueueDecorator<E>
Type Parameters:
E - the type of the elements in the queue
All Implemented Interfaces:
Serializable, Iterable<E>, Collection<E>, Queue<E>
Direct Known Subclasses:
UnmodifiableQueue

public abstract class AbstractQueueDecorator<E> extends AbstractCollectionDecorator<E> implements Queue<E>
Decorates another Queue to provide additional behaviour.

Methods are forwarded directly to the decorated queue.

This implementation does not forward the hashCode and equals methods through to the backing object, but relies on Object's implementation. This is necessary as some Queue implementations, e.g. LinkedList, have custom a equals implementation for which symmetry can not be preserved. See class javadoc of AbstractCollectionDecorator for more information.

Since:
4.0
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version
      See Also:
  • Constructor Details

    • AbstractQueueDecorator

      protected AbstractQueueDecorator()
      Constructor only used in deserialization, do not use otherwise.
    • AbstractQueueDecorator

      protected AbstractQueueDecorator(Queue<E> queue)
      Constructor that wraps (not copies).
      Parameters:
      queue - the queue to decorate, must not be null
      Throws:
      NullPointerException - if queue is null
  • Method Details

    • decorated

      protected Queue<E> decorated()
      Gets the queue being decorated.
      Overrides:
      decorated in class AbstractCollectionDecorator<E>
      Returns:
      the decorated queue
    • offer

      public boolean offer(E obj)
      Specified by:
      offer in interface Queue<E>
    • poll

      public E poll()
      Specified by:
      poll in interface Queue<E>
    • peek

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

      public E element()
      Specified by:
      element in interface Queue<E>
    • remove

      public E remove()
      Specified by:
      remove in interface Queue<E>