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:
Iterable<E>, Collection<E>, BlockingQueue<E>, Queue<E>
@GwtIncompatible
public abstract class ForwardingBlockingQueue<E>
extends ForwardingQueue<E>
implements 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.
default method warning: This class does not forward calls to
default methods. Instead, it inherits their default implementations. When those implementations
invoke methods, they invoke methods on the ForwardingBlockingQueue.
- Since:
- 4.0
- Author:
- Raimundo Mirisola
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor for use by subclasses. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract BlockingQueue<E> delegate()Returns the backing delegate instance that methods are forwarded to.intdrainTo(Collection<? super E> c) intdrainTo(Collection<? super E> c, int maxElements) booleanvoidinttake()Methods inherited from class ForwardingQueue
element, offer, peek, poll, remove, standardOffer, standardPeek, standardPollMethods inherited from class ForwardingCollection
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, standardAddAll, standardClear, standardContains, standardContainsAll, standardIsEmpty, standardRemove, standardRemoveAll, standardRetainAll, standardToArray, standardToArray, standardToString, toArray, toArrayMethods inherited from class ForwardingObject
toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface BlockingQueue
add, contains, offer, removeMethods inherited from interface Collection
addAll, clear, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray
-
Constructor Details
-
ForwardingBlockingQueue
protected ForwardingBlockingQueue()Constructor for use by subclasses.
-
-
Method Details
-
delegate
Description copied from class:ForwardingObjectReturns 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 asForwardingSet.delegate(). Concrete subclasses override this method to supply the instance being decorated.- Specified by:
delegatein classForwardingQueue<E>
-
drainTo
- Specified by:
drainToin interfaceBlockingQueue<E>
-
drainTo
- Specified by:
drainToin interfaceBlockingQueue<E>
-
offer
@CanIgnoreReturnValue public boolean offer(E e, long timeout, TimeUnit unit) throws InterruptedException - Specified by:
offerin interfaceBlockingQueue<E>- Throws:
InterruptedException
-
poll
@CanIgnoreReturnValue public @Nullable E poll(long timeout, TimeUnit unit) throws InterruptedException - Specified by:
pollin interfaceBlockingQueue<E>- Throws:
InterruptedException
-
put
- Specified by:
putin interfaceBlockingQueue<E>- Throws:
InterruptedException
-
remainingCapacity
public int remainingCapacity()- Specified by:
remainingCapacityin interfaceBlockingQueue<E>
-
take
- Specified by:
takein interfaceBlockingQueue<E>- Throws:
InterruptedException
-