com.google.common.collect
Class ForwardingBlockingDeque<E>
java.lang.Object
com.google.common.collect.ForwardingObject
com.google.common.collect.ForwardingCollection<E>
com.google.common.collect.ForwardingQueue<E>
com.google.common.collect.ForwardingDeque<E>
com.google.common.collect.ForwardingBlockingDeque<E>
- All Implemented Interfaces:
- java.lang.Iterable<E>, java.util.Collection<E>, java.util.concurrent.BlockingDeque<E>, java.util.concurrent.BlockingQueue<E>, java.util.Deque<E>, java.util.Queue<E>
public abstract class ForwardingBlockingDeque<E>
- extends ForwardingDeque<E>
- implements java.util.concurrent.BlockingDeque<E>
A BlockingDeque which forwards all its method calls to another BlockingDeque.
Subclasses should override one or more methods to modify the behavior of the backing deque as
desired per the decorator pattern.
Warning: The methods of ForwardingBlockingDeque forward
indiscriminately to the methods of the delegate. For example, overriding ForwardingCollection.add(E)
alone will not change the behaviour of offer(E, long, java.util.concurrent.TimeUnit) which can lead to unexpected
behaviour. In this case, you should override offer as well, either providing your own
implementation, or delegating to the provided standardOffer method.
The standard methods are not guaranteed to be thread-safe, even when all of the methods
that they depend on are thread-safe.
- Since:
- 14.0
|
Method Summary |
protected abstract java.util.concurrent.BlockingDeque<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)
|
boolean |
offerFirst(E e,
long timeout,
java.util.concurrent.TimeUnit unit)
|
boolean |
offerLast(E e,
long timeout,
java.util.concurrent.TimeUnit unit)
|
E |
poll(long timeout,
java.util.concurrent.TimeUnit unit)
|
E |
pollFirst(long timeout,
java.util.concurrent.TimeUnit unit)
|
E |
pollLast(long timeout,
java.util.concurrent.TimeUnit unit)
|
void |
put(E e)
|
void |
putFirst(E e)
|
void |
putLast(E e)
|
int |
remainingCapacity()
|
E |
take()
|
E |
takeFirst()
|
E |
takeLast()
|
| Methods inherited from class com.google.common.collect.ForwardingDeque |
addFirst, addLast, descendingIterator, getFirst, getLast, offerFirst, offerLast, peekFirst, peekLast, pollFirst, pollLast, pop, push, removeFirst, removeFirstOccurrence, removeLast, removeLastOccurrence |
| 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.BlockingDeque |
add, addFirst, addLast, contains, element, iterator, offer, offerFirst, offerLast, peek, poll, push, remove, remove, removeFirstOccurrence, removeLastOccurrence, size |
| Methods inherited from interface java.util.Deque |
descendingIterator, getFirst, getLast, peekFirst, peekLast, pollFirst, pollLast, pop, removeFirst, removeLast |
| Methods inherited from interface java.util.Collection |
addAll, clear, containsAll, equals, hashCode, isEmpty, removeAll, retainAll, toArray, toArray |
ForwardingBlockingDeque
protected ForwardingBlockingDeque()
- Constructor for use by subclasses.
delegate
protected abstract java.util.concurrent.BlockingDeque<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 ForwardingDeque<E>
remainingCapacity
public int remainingCapacity()
- Specified by:
remainingCapacity in interface java.util.concurrent.BlockingQueue<E>
putFirst
public void putFirst(E e)
throws java.lang.InterruptedException
- Specified by:
putFirst in interface java.util.concurrent.BlockingDeque<E>
- Throws:
java.lang.InterruptedException
putLast
public void putLast(E e)
throws java.lang.InterruptedException
- Specified by:
putLast in interface java.util.concurrent.BlockingDeque<E>
- Throws:
java.lang.InterruptedException
offerFirst
public boolean offerFirst(E e,
long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
- Specified by:
offerFirst in interface java.util.concurrent.BlockingDeque<E>
- Throws:
java.lang.InterruptedException
offerLast
public boolean offerLast(E e,
long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
- Specified by:
offerLast in interface java.util.concurrent.BlockingDeque<E>
- Throws:
java.lang.InterruptedException
takeFirst
public E takeFirst()
throws java.lang.InterruptedException
- Specified by:
takeFirst in interface java.util.concurrent.BlockingDeque<E>
- Throws:
java.lang.InterruptedException
takeLast
public E takeLast()
throws java.lang.InterruptedException
- Specified by:
takeLast in interface java.util.concurrent.BlockingDeque<E>
- Throws:
java.lang.InterruptedException
pollFirst
public E pollFirst(long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
- Specified by:
pollFirst in interface java.util.concurrent.BlockingDeque<E>
- Throws:
java.lang.InterruptedException
pollLast
public E pollLast(long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
- Specified by:
pollLast in interface java.util.concurrent.BlockingDeque<E>
- Throws:
java.lang.InterruptedException
put
public void put(E e)
throws java.lang.InterruptedException
- Specified by:
put in interface java.util.concurrent.BlockingDeque<E>- Specified by:
put in interface java.util.concurrent.BlockingQueue<E>
- Throws:
java.lang.InterruptedException
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.BlockingDeque<E>- Specified by:
offer in interface java.util.concurrent.BlockingQueue<E>
- Throws:
java.lang.InterruptedException
take
public E take()
throws java.lang.InterruptedException
- Specified by:
take in interface java.util.concurrent.BlockingDeque<E>- Specified by:
take 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.BlockingDeque<E>- Specified by:
poll in interface java.util.concurrent.BlockingQueue<E>
- Throws:
java.lang.InterruptedException
drainTo
public int drainTo(java.util.Collection<? super E> c)
- Specified by:
drainTo in interface java.util.concurrent.BlockingQueue<E>
drainTo
public int drainTo(java.util.Collection<? super E> c,
int maxElements)
- Specified by:
drainTo in interface java.util.concurrent.BlockingQueue<E>