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
- Author:
- Raimundo Mirisola
|
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, 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