com.google.common.util.concurrent
Class ForwardingBlockingQueue<E>
java.lang.Object
com.google.common.collect.ForwardingObject
com.google.common.collect.ForwardingCollection<E>
com.google.common.collect.ForwardingQueue<E>
com.google.common.util.concurrent.ForwardingBlockingQueue<E>
- Type Parameters:
E
- the type of elements held in this collection
- All Implemented Interfaces:
- java.lang.Iterable<E>, java.util.Collection<E>, java.util.concurrent.BlockingQueue<E>, java.util.Queue<E>
public abstract class ForwardingBlockingQueue<E>
- extends ForwardingQueue<E>
- implements java.util.concurrent.BlockingQueue<E>
A BlockingQueue
which forwards all its method calls to another
BlockingQueue
. Subclasses should override one or more methods to
modify the behavior of the backing collection as desired per the decorator pattern.
- Since:
- 4
Method Summary |
protected abstract java.util.concurrent.BlockingQueue<E> |
delegate()
Returns the backing delegate instance that methods are forwarded to. |
int |
drainTo(java.util.Collection<? super E> c)
|
int |
drainTo(java.util.Collection<? super E> c,
int maxElements)
|
boolean |
offer(E e,
long timeout,
java.util.concurrent.TimeUnit unit)
|
E |
poll(long timeout,
java.util.concurrent.TimeUnit unit)
|
void |
put(E e)
|
int |
remainingCapacity()
|
E |
take()
|
Methods inherited from class com.google.common.collect.ForwardingCollection |
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, standardAddAll, standardClear, standardContains, standardContainsAll, standardIsEmpty, standardRemove, standardRemoveAll, standardRetainAll, standardToArray, standardToArray, standardToString, toArray, toArray |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.concurrent.BlockingQueue |
add, contains, offer, remove |
Methods inherited from interface java.util.Queue |
element, peek, poll, remove |
Methods inherited from interface java.util.Collection |
addAll, clear, containsAll, equals, hashCode, isEmpty, iterator, removeAll, retainAll, size, toArray, toArray |
ForwardingBlockingQueue
protected ForwardingBlockingQueue()
- Constructor for use by subclasses.
delegate
protected abstract java.util.concurrent.BlockingQueue<E> delegate()
- Description copied from class:
ForwardingObject
- Returns the backing delegate instance that methods are forwarded to.
Abstract subclasses generally override this method with an abstract method
that has a more specific return type, such as
ForwardingSet.delegate()
. Concrete subclasses override this method to supply
the instance being decorated.
- Specified by:
delegate
in class ForwardingQueue<E>
drainTo
public int drainTo(java.util.Collection<? super E> c,
int maxElements)
- Specified by:
drainTo
in interface java.util.concurrent.BlockingQueue<E>
drainTo
public int drainTo(java.util.Collection<? super E> c)
- Specified by:
drainTo
in interface java.util.concurrent.BlockingQueue<E>
offer
public boolean offer(E e,
long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
- Specified by:
offer
in interface java.util.concurrent.BlockingQueue<E>
- Throws:
java.lang.InterruptedException
poll
public E poll(long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
- Specified by:
poll
in interface java.util.concurrent.BlockingQueue<E>
- Throws:
java.lang.InterruptedException
put
public void put(E e)
throws java.lang.InterruptedException
- Specified by:
put
in interface java.util.concurrent.BlockingQueue<E>
- Throws:
java.lang.InterruptedException
remainingCapacity
public int remainingCapacity()
- Specified by:
remainingCapacity
in interface java.util.concurrent.BlockingQueue<E>
take
public E take()
throws java.lang.InterruptedException
- Specified by:
take
in interface java.util.concurrent.BlockingQueue<E>
- Throws:
java.lang.InterruptedException