public abstract class ForwardingNavigableMap<K,V> extends ForwardingSortedMap<K,V> implements java.util.NavigableMap<K,V>
Warning: The methods of ForwardingNavigableMap 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 ForwardingNavigableMap.
Each of the standard methods uses the map's comparator (or the natural ordering of the
elements, if there is no comparator) to test element equality. As a result, if the comparator is
not consistent with equals, some of the standard implementations may violate the Map
contract.
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 |
ForwardingNavigableMap.StandardDescendingMap
A sensible implementation of
NavigableMap.descendingMap() in terms of the methods of this
NavigableMap. |
protected class |
ForwardingNavigableMap.StandardNavigableKeySet
A sensible implementation of
NavigableMap.navigableKeySet() in terms of the methods of
this NavigableMap. |
ForwardingSortedMap.StandardKeySetForwardingMap.StandardEntrySet, ForwardingMap.StandardValues| Modifier | Constructor and Description |
|---|---|
protected |
ForwardingNavigableMap()
Constructor for use by subclasses.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.Map.Entry<K,V> |
ceilingEntry(K key) |
K |
ceilingKey(K key) |
protected abstract java.util.NavigableMap<K,V> |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
java.util.NavigableSet<K> |
descendingKeySet() |
java.util.NavigableMap<K,V> |
descendingMap() |
java.util.Map.Entry<K,V> |
firstEntry() |
java.util.Map.Entry<K,V> |
floorEntry(K key) |
K |
floorKey(K key) |
java.util.NavigableMap<K,V> |
headMap(K toKey,
boolean inclusive) |
java.util.Map.Entry<K,V> |
higherEntry(K key) |
K |
higherKey(K key) |
java.util.Map.Entry<K,V> |
lastEntry() |
java.util.Map.Entry<K,V> |
lowerEntry(K key) |
K |
lowerKey(K key) |
java.util.NavigableSet<K> |
navigableKeySet() |
java.util.Map.Entry<K,V> |
pollFirstEntry() |
java.util.Map.Entry<K,V> |
pollLastEntry() |
protected java.util.Map.Entry<K,V> |
standardCeilingEntry(K key)
|
protected K |
standardCeilingKey(K key)
A sensible definition of
ceilingKey(K) in terms of ceilingEntry. |
protected java.util.NavigableSet<K> |
standardDescendingKeySet()
|
protected java.util.Map.Entry<K,V> |
standardFirstEntry()
|
protected K |
standardFirstKey()
A sensible definition of
ForwardingSortedMap.firstKey() in terms of firstEntry. |
protected java.util.Map.Entry<K,V> |
standardFloorEntry(K key)
|
protected K |
standardFloorKey(K key)
A sensible definition of
floorKey(K) in terms of floorEntry. |
protected java.util.SortedMap<K,V> |
standardHeadMap(K toKey)
A sensible definition of
ForwardingSortedMap.headMap(Object) in terms of headMap(Object,
boolean). |
protected java.util.Map.Entry<K,V> |
standardHigherEntry(K key)
|
protected K |
standardHigherKey(K key)
A sensible definition of
higherKey(K) in terms of higherEntry. |
protected java.util.Map.Entry<K,V> |
standardLastEntry()
A sensible definition of
lastEntry() in terms of the iterator() of the ForwardingMap.entrySet() of descendingMap(). |
protected K |
standardLastKey()
A sensible definition of
ForwardingSortedMap.lastKey() in terms of lastEntry. |
protected java.util.Map.Entry<K,V> |
standardLowerEntry(K key)
|
protected K |
standardLowerKey(K key)
A sensible definition of
lowerKey(K) in terms of lowerEntry. |
protected java.util.Map.Entry<K,V> |
standardPollFirstEntry()
|
protected java.util.Map.Entry<K,V> |
standardPollLastEntry()
A sensible definition of
pollFirstEntry() in terms of the iterator of the entrySet of descendingMap. |
protected java.util.SortedMap<K,V> |
standardSubMap(K fromKey,
K toKey)
A sensible definition of
ForwardingSortedMap.subMap(Object, Object) in terms of subMap(Object,
boolean, Object, boolean). |
protected java.util.SortedMap<K,V> |
standardTailMap(K fromKey)
A sensible definition of
ForwardingSortedMap.tailMap(Object) in terms of tailMap(Object,
boolean). |
java.util.NavigableMap<K,V> |
subMap(K fromKey,
boolean fromInclusive,
K toKey,
boolean toInclusive) |
java.util.NavigableMap<K,V> |
tailMap(K fromKey,
boolean inclusive) |
comparator, firstKey, headMap, lastKey, standardContainsKey, subMap, tailMap, unsafeCompareclear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, standardClear, standardContainsValue, standardEquals, standardHashCode, standardIsEmpty, standardPutAll, standardRemove, standardToString, valuestoStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitprotected ForwardingNavigableMap()
protected abstract java.util.NavigableMap<K,V> delegate()
ForwardingObjectForwardingSet.delegate(). Concrete subclasses override this method to supply the
instance being decorated.delegate in class ForwardingSortedMap<K,V>@CheckForNull protected java.util.Map.Entry<K,V> standardLowerEntry(K key)
lowerEntry(K) in terms of the lastEntry() of headMap(Object, boolean). If you override headMap, you may wish to override lowerEntry to forward to this implementation.@CheckForNull protected K standardLowerKey(K key)
lowerKey(K) in terms of lowerEntry. If you override
lowerEntry(K), you may wish to override lowerKey to forward to this
implementation.@CheckForNull protected java.util.Map.Entry<K,V> standardFloorEntry(K key)
floorEntry(K) in terms of the lastEntry() of headMap(Object, boolean). If you override headMap, you may wish to override floorEntry to forward to this implementation.@CheckForNull protected K standardFloorKey(K key)
floorKey(K) in terms of floorEntry. If you override
floorEntry, you may wish to override floorKey to forward to this
implementation.@CheckForNull protected java.util.Map.Entry<K,V> standardCeilingEntry(K key)
ceilingEntry(K) in terms of the firstEntry() of tailMap(Object, boolean). If you override tailMap, you may wish to override ceilingEntry to forward to this implementation.@CheckForNull protected K standardCeilingKey(K key)
ceilingKey(K) in terms of ceilingEntry. If you override
ceilingEntry, you may wish to override ceilingKey to forward to this
implementation.@CheckForNull protected java.util.Map.Entry<K,V> standardHigherEntry(K key)
higherEntry(K) in terms of the firstEntry() of tailMap(Object, boolean). If you override tailMap, you may wish to override higherEntry to forward to this implementation.@CheckForNull protected K standardHigherKey(K key)
higherKey(K) in terms of higherEntry. If you override
higherEntry, you may wish to override higherKey to forward to this
implementation.@CheckForNull protected java.util.Map.Entry<K,V> standardFirstEntry()
firstEntry() in terms of the iterator() of ForwardingMap.entrySet(). If you override entrySet, you may wish to override firstEntry to
forward to this implementation.protected K standardFirstKey()
ForwardingSortedMap.firstKey() in terms of firstEntry. If you override
firstEntry, you may wish to override firstKey to forward to this
implementation.@CheckForNull protected java.util.Map.Entry<K,V> standardLastEntry()
lastEntry() in terms of the iterator() of the ForwardingMap.entrySet() of descendingMap(). If you override descendingMap, you may wish to
override lastEntry to forward to this implementation.protected K standardLastKey()
ForwardingSortedMap.lastKey() in terms of lastEntry. If you override lastEntry, you may wish to override lastKey to forward to this implementation.@CheckForNull protected java.util.Map.Entry<K,V> standardPollFirstEntry()
pollFirstEntry() in terms of the iterator of entrySet. If you override entrySet, you may wish to override pollFirstEntry to
forward to this implementation.@CheckForNull protected java.util.Map.Entry<K,V> standardPollLastEntry()
pollFirstEntry() in terms of the iterator of the entrySet of descendingMap. If you override descendingMap, you may wish to
override pollFirstEntry to forward to this implementation.public java.util.NavigableSet<K> navigableKeySet()
public java.util.NavigableSet<K> descendingKeySet()
protected java.util.NavigableSet<K> standardDescendingKeySet()
descendingKeySet() as the navigableKeySet of descendingMap(). (The ForwardingNavigableMap.StandardDescendingMap implementation implements navigableKeySet on its own, so as not to cause an infinite loop.) If you override descendingMap, you may wish to override descendingKeySet to forward to this
implementation.protected java.util.SortedMap<K,V> standardSubMap(K fromKey, K toKey)
ForwardingSortedMap.subMap(Object, Object) in terms of subMap(Object,
boolean, Object, boolean). If you override subMap(K, boolean, K, boolean), you may
wish to override subMap to forward to this implementation.standardSubMap in class ForwardingSortedMap<K,V>public java.util.NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
protected java.util.SortedMap<K,V> standardHeadMap(K toKey)
ForwardingSortedMap.headMap(Object) in terms of headMap(Object,
boolean). If you override headMap(K, boolean), you may wish to override headMap to forward to this implementation.protected java.util.SortedMap<K,V> standardTailMap(K fromKey)
ForwardingSortedMap.tailMap(Object) in terms of tailMap(Object,
boolean). If you override tailMap(K, boolean), you may wish to override tailMap to forward to this implementation.