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 @Nullable Object>
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
- Author:
- Mike Bostock, Louis Wasserman
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondelegate()
Returns the backing delegate instance that methods are forwarded to.element()
boolean
peek()
poll()
remove()
protected boolean
standardOffer
(E e) A sensible definition ofoffer(E)
in terms ofForwardingCollection.add(E)
.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 com.google.common.collect.ForwardingObject
toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.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: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 asForwardingSet.delegate()
. Concrete subclasses override this method to supply the instance being decorated.- Specified by:
delegate
in classForwardingCollection<E extends @Nullable Object>
-
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
-