Class ForwardingQueue<E>
java.lang.Object
com.google.common.collect.ForwardingObject
com.google.common.collect.ForwardingCollection<E>
com.google.common.collect.ForwardingQueue<E>
- All Implemented Interfaces:
Iterable<E>, Collection<E>, Queue<E>
- Direct Known Subclasses:
EvictingQueue, ForwardingBlockingQueue, ForwardingDeque
@GwtCompatible
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.
Warning: The methods of ForwardingQueue forward
indiscriminately to the methods of the delegate. For example,
overriding ForwardingCollection.add(E) alone will not change the behavior of offer(E) which can lead to unexpected behavior. In this case, you should
override offer as well, either providing your own implementation, or
delegating to the provided standardOffer method.
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 ForwardingQueue.
The standard methods are not guaranteed to be thread-safe, even
when all of the methods that they depend on are thread-safe.
- Since:
- 2.0
-
Constructor Summary
Constructors -
Method Summary
Methods 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 Collection
addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray
-
Constructor Details
-
ForwardingQueue
protected ForwardingQueue()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 classForwardingCollection<E>
-
offer
-
poll
-
remove
-
peek
-
element
-
standardOffer
A sensible definition ofoffer(E)in terms ofForwardingCollection.add(E). If you overrideForwardingCollection.add(E), you may wish to overrideoffer(E)to forward to this implementation.- Since:
- 7.0
-
standardPeek
-
standardPoll
-