Class ForwardingSortedMap<K extends @Nullable java.lang.Object,V extends @Nullable java.lang.Object>
- java.lang.Object
-
- com.google.common.collect.ForwardingObject
-
- com.google.common.collect.ForwardingMap<K,V>
-
- com.google.common.collect.ForwardingSortedMap<K,V>
-
- All Implemented Interfaces:
java.util.Map<K,V>,java.util.SortedMap<K,V>
- Direct Known Subclasses:
ForwardingNavigableMap
@GwtCompatible public abstract class ForwardingSortedMap<K extends @Nullable java.lang.Object,V extends @Nullable java.lang.Object> extends ForwardingMap<K,V> implements java.util.SortedMap<K,V>
A sorted map which forwards all its method calls to another sorted map. Subclasses should override one or more methods to modify the behavior of the backing sorted map as desired per the decorator pattern.Warning: The methods of
ForwardingSortedMapforward indiscriminately to the methods of the delegate. For example, overridingForwardingMap.put(K, V)alone will not change the behavior ofForwardingMap.putAll(java.util.Map<? extends K, ? extends V>), which can lead to unexpected behavior. In this case, you should overrideputAllas well, either providing your own implementation, or delegating to the providedstandardPutAllmethod.defaultmethod warning: This class does not forward calls todefaultmethods. Instead, it inherits their default implementations. When those implementations invoke methods, they invoke methods on theForwardingSortedMap.Each of the
standardmethods, where appropriate, use the comparator of the map to test equality for both keys and values, unlikeForwardingMap.The
standardmethods 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.- Since:
- 2.0
- Author:
- Mike Bostock, Louis Wasserman
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classForwardingSortedMap.StandardKeySetA sensible implementation ofSortedMap.keySet()in terms of the methods ofForwardingSortedMap.-
Nested classes/interfaces inherited from class com.google.common.collect.ForwardingMap
ForwardingMap.StandardEntrySet, ForwardingMap.StandardValues
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedForwardingSortedMap()Constructor for use by subclasses.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.util.Comparator<? super K>comparator()protected abstract java.util.SortedMap<K,V>delegate()Returns the backing delegate instance that methods are forwarded to.KfirstKey()java.util.SortedMap<K,V>headMap(K toKey)KlastKey()protected booleanstandardContainsKey(java.lang.Object key)A sensible definition ofForwardingMap.containsKey(java.lang.Object)in terms of thefirstKey()method oftailMap(K).protected java.util.SortedMap<K,V>standardSubMap(K fromKey, K toKey)A sensible default implementation ofsubMap(Object, Object)in terms ofheadMap(Object)andtailMap(Object).java.util.SortedMap<K,V>subMap(K fromKey, K toKey)java.util.SortedMap<K,V>tailMap(K fromKey)-
Methods inherited from class com.google.common.collect.ForwardingMap
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, standardClear, standardContainsValue, standardEquals, standardHashCode, standardIsEmpty, standardPutAll, standardRemove, standardToString, values
-
Methods inherited from class com.google.common.collect.ForwardingObject
toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Constructor Detail
-
ForwardingSortedMap
protected ForwardingSortedMap()
Constructor for use by subclasses.
-
-
Method Detail
-
delegate
protected abstract java.util.SortedMap<K,V> 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.
-
comparator
@CheckForNull public java.util.Comparator<? super K> comparator()
-
standardContainsKey
protected boolean standardContainsKey(@CheckForNull java.lang.Object key)
A sensible definition ofForwardingMap.containsKey(java.lang.Object)in terms of thefirstKey()method oftailMap(K). If you overridetailMap(K), you may wish to overrideForwardingMap.containsKey(java.lang.Object)to forward to this implementation.- Overrides:
standardContainsKeyin classForwardingMap<K extends @Nullable java.lang.Object,V extends @Nullable java.lang.Object>- Since:
- 7.0
-
standardSubMap
protected java.util.SortedMap<K,V> standardSubMap(K fromKey, K toKey)
A sensible default implementation ofsubMap(Object, Object)in terms ofheadMap(Object)andtailMap(Object). In some situations, you may wish to overridesubMap(Object, Object)to forward to this implementation.- Since:
- 7.0
-
-