Class ForwardingSortedMap<K,V>
- java.lang.Object
- 
- com.google.common.collect.ForwardingObject
- 
- com.google.common.collect.ForwardingMap<K,V>
- 
- com.google.common.collect.ForwardingSortedMap<K,V>
 
 
 
- 
- Direct Known Subclasses:
- ForwardingNavigableMap
 
 @GwtCompatible public abstract class ForwardingSortedMap<K,V> extends ForwardingMap<K,V> implements 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 SummaryNested 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.ForwardingMapForwardingMap.StandardEntrySet, ForwardingMap.StandardValues
 
- 
 - 
Constructor SummaryConstructors Modifier Constructor Description protectedForwardingSortedMap()Constructor for use by subclasses.
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Comparator<? super K>comparator()Returns the comparator used to order the keys in this map, ornullif this map uses the natural ordering of its keys.protected abstract SortedMap<K,V>delegate()Returns the backing delegate instance that methods are forwarded to.KfirstKey()Returns the first (lowest) key currently in this map.SortedMap<K,V>headMap(K toKey)Returns a view of the portion of this map whose keys are strictly less thantoKey.KlastKey()Returns the last (highest) key currently in this map.protected booleanstandardContainsKey(@Nullable Object key)A sensible definition ofForwardingMap.containsKey(java.lang.Object)in terms of thefirstKey()method oftailMap(K).protected SortedMap<K,V>standardSubMap(K fromKey, K toKey)A sensible default implementation ofsubMap(Object, Object)in terms ofheadMap(Object)andtailMap(Object).SortedMap<K,V>subMap(K fromKey, K toKey)Returns a view of the portion of this map whose keys range fromfromKey, inclusive, totoKey, exclusive.SortedMap<K,V>tailMap(K fromKey)Returns a view of the portion of this map whose keys are greater than or equal tofromKey.- 
Methods inherited from class com.google.common.collect.ForwardingMapclear, 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.ForwardingObjecttoString
 - 
Methods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface java.util.Mapclear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size
 
- 
 
- 
- 
- 
Constructor Detail- 
ForwardingSortedMapprotected ForwardingSortedMap() Constructor for use by subclasses.
 
- 
 - 
Method Detail- 
delegateprotected abstract 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.- Specified by:
- delegatein class- ForwardingMap<K,V>
 
 - 
comparatorpublic Comparator<? super K> comparator() Description copied from interface:java.util.SortedMapReturns the comparator used to order the keys in this map, ornullif this map uses the natural ordering of its keys.- Specified by:
- comparatorin interface- SortedMap<K,V>
- Returns:
- the comparator used to order the keys in this map,
         or nullif this map uses the natural ordering of its keys
 
 - 
firstKeypublic K firstKey() Description copied from interface:java.util.SortedMapReturns the first (lowest) key currently in this map.
 - 
headMappublic SortedMap<K,V> headMap(K toKey) Description copied from interface:java.util.SortedMapReturns a view of the portion of this map whose keys are strictly less thantoKey. The returned map is backed by this map, so changes in the returned map are reflected in this map, and vice-versa. The returned map supports all optional map operations that this map supports.The returned map will throw an IllegalArgumentExceptionon an attempt to insert a key outside its range.
 - 
lastKeypublic K lastKey() Description copied from interface:java.util.SortedMapReturns the last (highest) key currently in this map.
 - 
subMappublic SortedMap<K,V> subMap(K fromKey, K toKey) Description copied from interface:java.util.SortedMapReturns a view of the portion of this map whose keys range fromfromKey, inclusive, totoKey, exclusive. (IffromKeyandtoKeyare equal, the returned map is empty.) The returned map is backed by this map, so changes in the returned map are reflected in this map, and vice-versa. The returned map supports all optional map operations that this map supports.The returned map will throw an IllegalArgumentExceptionon an attempt to insert a key outside its range.
 - 
tailMappublic SortedMap<K,V> tailMap(K fromKey) Description copied from interface:java.util.SortedMapReturns a view of the portion of this map whose keys are greater than or equal tofromKey. The returned map is backed by this map, so changes in the returned map are reflected in this map, and vice-versa. The returned map supports all optional map operations that this map supports.The returned map will throw an IllegalArgumentExceptionon an attempt to insert a key outside its range.
 - 
standardContainsKey@Beta protected boolean standardContainsKey(@Nullable 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 class- ForwardingMap<K,V>
- Since:
- 7.0
 
 - 
standardSubMap@Beta protected 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
 
 
- 
 
-