@GwtCompatible public abstract class ForwardingSortedMap<K,V> extends ForwardingMap<K,V> implements SortedMap<K,V>
Warning: The methods of ForwardingSortedMap
forward
indiscriminately to the methods of the delegate. For example,
overriding ForwardingMap.put(K, V)
alone will not change the behavior of ForwardingMap.putAll(java.util.Map<? extends K, ? extends V>)
, which can lead to unexpected behavior. In this case, you should
override putAll
as well, either providing your own implementation, or
delegating to the provided standardPutAll
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 ForwardingSortedMap
.
Each of the standard
methods, where appropriate, use the
comparator of the map to test equality for both keys and values, unlike
ForwardingMap
.
The standard
methods and the collection views they return are not
guaranteed to be thread-safe, even when all of the methods that they depend
on are thread-safe.
Modifier and Type | Class and Description |
---|---|
protected class |
ForwardingSortedMap.StandardKeySet
A sensible implementation of
SortedMap.keySet() in terms of the methods of
ForwardingSortedMap . |
ForwardingMap.StandardEntrySet, ForwardingMap.StandardValues
Modifier | Constructor and Description |
---|---|
protected |
ForwardingSortedMap()
Constructor for use by subclasses.
|
Modifier and Type | Method and Description |
---|---|
Comparator<? super K> |
comparator() |
protected abstract SortedMap<K,V> |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
K |
firstKey() |
SortedMap<K,V> |
headMap(K toKey) |
K |
lastKey() |
protected boolean |
standardContainsKey(Object key)
A sensible definition of
ForwardingMap.containsKey(java.lang.Object) in terms of the firstKey() method of tailMap(K) . |
protected SortedMap<K,V> |
standardSubMap(K fromKey,
K toKey)
A sensible default implementation of
subMap(Object, Object) in
terms of headMap(Object) and tailMap(Object) . |
SortedMap<K,V> |
subMap(K fromKey,
K toKey) |
SortedMap<K,V> |
tailMap(K fromKey) |
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, standardClear, standardContainsValue, standardEquals, standardHashCode, standardIsEmpty, standardPutAll, standardRemove, standardToString, values
toString
protected ForwardingSortedMap()
protected abstract SortedMap<K,V> delegate()
ForwardingObject
ForwardingSet.delegate()
. Concrete subclasses override this method to supply
the instance being decorated.delegate
in class ForwardingMap<K,V>
public Comparator<? super K> comparator()
comparator
in interface SortedMap<K,V>
@Beta protected boolean standardContainsKey(@Nullable Object key)
ForwardingMap.containsKey(java.lang.Object)
in terms of the firstKey()
method of tailMap(K)
. If you override tailMap(K)
,
you may wish to override ForwardingMap.containsKey(java.lang.Object)
to forward to this
implementation.standardContainsKey
in class ForwardingMap<K,V>
@Beta protected SortedMap<K,V> standardSubMap(K fromKey, K toKey)
subMap(Object, Object)
in
terms of headMap(Object)
and tailMap(Object)
. In some
situations, you may wish to override subMap(Object, Object)
to
forward to this implementation.Copyright © 2010-2016. All Rights Reserved.