com.google.common.collect
Class ForwardingQueue<E>

java.lang.Object
  extended by com.google.common.collect.ForwardingObject
      extended by com.google.common.collect.ForwardingCollection<E>
          extended by com.google.common.collect.ForwardingQueue<E>
All Implemented Interfaces:
Serializable, Iterable<E>, Collection<E>, Queue<E>

public abstract class ForwardingQueue<E>
extends ForwardingCollection<E>
implements Queue<E>

A queue which forwards all its method calls to another queue. Subclasses should override one or more methods to modify the behavior of the backing queue as desired per the decorator pattern.

Author:
Mike Bostock
See Also:
ForwardingObject, Serialized Form

Constructor Summary
protected ForwardingQueue(Queue<E> delegate)
          Constructs a forwarding queue that forwards to the provided delegate.
 
Method Summary
protected  Queue<E> delegate()
          Returns the backing delegate object.
 E element()
           
 boolean offer(E o)
           
 E peek()
           
 E poll()
           
 E remove()
           
 
Methods inherited from class com.google.common.collect.ForwardingCollection
add, addAll, clear, contains, containsAll, containsAllImpl, containsImpl, isEmpty, iterator, remove, removeAll, removeAllImpl, removeImpl, retainAll, retainAllImpl, size, toArray, toArray, toArrayImpl, toArrayImpl, toStringImpl
 
Methods inherited from class com.google.common.collect.ForwardingObject
toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Collection
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
 

Constructor Detail

ForwardingQueue

protected ForwardingQueue(Queue<E> delegate)
Constructs a forwarding queue that forwards to the provided delegate.

Method Detail

delegate

protected Queue<E> delegate()
Description copied from class: ForwardingObject
Returns the backing delegate object. This method should be overridden to specify the correct return type. For example:
  @SuppressWarnings("unchecked")
  @Override protected Foo delegate() {
    return (Foo) super.delegate();
  }
This method should always return the same delegate instance that was passed to the constructor.

Overrides:
delegate in class ForwardingCollection<E>

offer

public boolean offer(E o)
Specified by:
offer in interface Queue<E>

poll

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

remove

public E remove()
Specified by:
remove 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>