com.google.common.collect
Class ForwardingDeque<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>
- All Implemented Interfaces:
- Iterable<E>, Collection<E>, Deque<E>, Queue<E>
@Beta
public abstract class ForwardingDeque<E>
- extends ForwardingQueue<E>
- implements Deque<E>
A deque which forwards all its method calls to another deque. 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 ForwardingDeque forward
indiscriminately to the methods of the delegate. For example,
overriding ForwardingCollection.add(E) alone will not change the behavior of ForwardingQueue.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.
The standard methods are not guaranteed to be thread-safe, even
when all of the methods that they depend on are thread-safe.
- Since:
- 12.0
- Author:
- Kurt Alfred Kluever
|
Constructor Summary |
protected |
ForwardingDeque()
Constructor for use by subclasses. |
| 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 |
ForwardingDeque
protected ForwardingDeque()
- Constructor for use by subclasses.
delegate
protected abstract Deque<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>
addFirst
public void addFirst(E e)
- Specified by:
addFirst in interface Deque<E>
addLast
public void addLast(E e)
- Specified by:
addLast in interface Deque<E>
descendingIterator
public Iterator<E> descendingIterator()
- Specified by:
descendingIterator in interface Deque<E>
getFirst
public E getFirst()
- Specified by:
getFirst in interface Deque<E>
getLast
public E getLast()
- Specified by:
getLast in interface Deque<E>
offerFirst
public boolean offerFirst(E e)
- Specified by:
offerFirst in interface Deque<E>
offerLast
public boolean offerLast(E e)
- Specified by:
offerLast in interface Deque<E>
peekFirst
public E peekFirst()
- Specified by:
peekFirst in interface Deque<E>
peekLast
public E peekLast()
- Specified by:
peekLast in interface Deque<E>
pollFirst
public E pollFirst()
- Specified by:
pollFirst in interface Deque<E>
pollLast
public E pollLast()
- Specified by:
pollLast in interface Deque<E>
pop
public E pop()
- Specified by:
pop in interface Deque<E>
push
public void push(E e)
- Specified by:
push in interface Deque<E>
removeFirst
public E removeFirst()
- Specified by:
removeFirst in interface Deque<E>
removeLast
public E removeLast()
- Specified by:
removeLast in interface Deque<E>
removeFirstOccurrence
public boolean removeFirstOccurrence(Object o)
- Specified by:
removeFirstOccurrence in interface Deque<E>
removeLastOccurrence
public boolean removeLastOccurrence(Object o)
- Specified by:
removeLastOccurrence in interface Deque<E>
Copyright © 2010-2012. All Rights Reserved.