com.google.common.collect
Class ForwardingNavigableMap.StandardDescendingMap

java.lang.Object
  extended by com.google.common.collect.ForwardingObject
      extended by com.google.common.collect.ForwardingMap<K,V>
          extended by com.google.common.collect.ForwardingNavigableMap.StandardDescendingMap
All Implemented Interfaces:
java.util.Map<K,V>, java.util.NavigableMap<K,V>, java.util.SortedMap<K,V>
Enclosing class:
ForwardingNavigableMap<K,V>

@Beta
protected class ForwardingNavigableMap.StandardDescendingMap
extends ForwardingMap<K,V>

A sensible implementation of NavigableMap.descendingMap() in terms of the methods of this NavigableMap. In many cases, you may wish to override ForwardingNavigableMap.descendingMap() to forward to this implementation or a subclass thereof.

In particular, this map iterates over entries with repeated calls to NavigableMap.lowerEntry(K). If a more efficient means of iteration is available, you may wish to override the entryIterator() method of this class.

Since:
12.0

Nested Class Summary
 
Nested classes/interfaces inherited from class com.google.common.collect.ForwardingMap
ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Constructor Summary
ForwardingNavigableMap.StandardDescendingMap()
          Constructor for use by subclasses.
 
Method Summary
 java.util.Map.Entry<K,V> ceilingEntry(K key)
           
 K ceilingKey(K key)
           
 java.util.Comparator<? super K> comparator()
           
protected  java.util.Map<K,V> delegate()
          Returns the backing delegate instance that methods are forwarded to.
 java.util.NavigableSet<K> descendingKeySet()
           
 java.util.NavigableMap<K,V> descendingMap()
           
protected  java.util.Iterator<java.util.Map.Entry<K,V>> entryIterator()
           
 java.util.Set<java.util.Map.Entry<K,V>> entrySet()
           
 java.util.Map.Entry<K,V> firstEntry()
           
 K firstKey()
           
 java.util.Map.Entry<K,V> floorEntry(K key)
           
 K floorKey(K key)
           
 java.util.SortedMap<K,V> headMap(K toKey)
           
 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.Set<K> keySet()
           
 java.util.Map.Entry<K,V> lastEntry()
           
 K lastKey()
           
 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()
           
 java.util.NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
           
 java.util.SortedMap<K,V> subMap(K fromKey, K toKey)
           
 java.util.SortedMap<K,V> tailMap(K fromKey)
           
 java.util.NavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
           
 java.util.Collection<V> values()
           
 
Methods inherited from class com.google.common.collect.ForwardingMap
clear, containsKey, containsValue, equals, get, hashCode, isEmpty, put, putAll, remove, size, standardClear, standardContainsKey, standardContainsValue, standardEquals, standardHashCode, standardIsEmpty, standardPutAll, standardRemove, standardToString
 
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
 
Methods inherited from interface java.util.Map
clear, containsKey, containsValue, equals, get, hashCode, isEmpty, put, putAll, remove, size
 

Constructor Detail

ForwardingNavigableMap.StandardDescendingMap

public ForwardingNavigableMap.StandardDescendingMap()
Constructor for use by subclasses.

Method Detail

entryIterator

protected java.util.Iterator<java.util.Map.Entry<K,V>> entryIterator()

delegate

protected final java.util.Map<K,V> 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 ForwardingMap<K,V>

comparator

public java.util.Comparator<? super K> comparator()
Specified by:
comparator in interface java.util.SortedMap<K,V>

firstKey

public K firstKey()
Specified by:
firstKey in interface java.util.SortedMap<K,V>

lastKey

public K lastKey()
Specified by:
lastKey in interface java.util.SortedMap<K,V>

lowerEntry

public java.util.Map.Entry<K,V> lowerEntry(K key)
Specified by:
lowerEntry in interface java.util.NavigableMap<K,V>

lowerKey

public K lowerKey(K key)
Specified by:
lowerKey in interface java.util.NavigableMap<K,V>

floorEntry

public java.util.Map.Entry<K,V> floorEntry(K key)
Specified by:
floorEntry in interface java.util.NavigableMap<K,V>

floorKey

public K floorKey(K key)
Specified by:
floorKey in interface java.util.NavigableMap<K,V>

ceilingEntry

public java.util.Map.Entry<K,V> ceilingEntry(K key)
Specified by:
ceilingEntry in interface java.util.NavigableMap<K,V>

ceilingKey

public K ceilingKey(K key)
Specified by:
ceilingKey in interface java.util.NavigableMap<K,V>

higherEntry

public java.util.Map.Entry<K,V> higherEntry(K key)
Specified by:
higherEntry in interface java.util.NavigableMap<K,V>

higherKey

public K higherKey(K key)
Specified by:
higherKey in interface java.util.NavigableMap<K,V>

firstEntry

public java.util.Map.Entry<K,V> firstEntry()
Specified by:
firstEntry in interface java.util.NavigableMap<K,V>

lastEntry

public java.util.Map.Entry<K,V> lastEntry()
Specified by:
lastEntry in interface java.util.NavigableMap<K,V>

pollFirstEntry

public java.util.Map.Entry<K,V> pollFirstEntry()
Specified by:
pollFirstEntry in interface java.util.NavigableMap<K,V>

pollLastEntry

public java.util.Map.Entry<K,V> pollLastEntry()
Specified by:
pollLastEntry in interface java.util.NavigableMap<K,V>

descendingMap

public java.util.NavigableMap<K,V> descendingMap()
Specified by:
descendingMap in interface java.util.NavigableMap<K,V>

entrySet

public java.util.Set<java.util.Map.Entry<K,V>> entrySet()
Specified by:
entrySet in interface java.util.Map<K,V>
Specified by:
entrySet in interface java.util.SortedMap<K,V>
Overrides:
entrySet in class ForwardingMap<K,V>

keySet

public java.util.Set<K> keySet()
Specified by:
keySet in interface java.util.Map<K,V>
Specified by:
keySet in interface java.util.SortedMap<K,V>
Overrides:
keySet in class ForwardingMap<K,V>

navigableKeySet

public java.util.NavigableSet<K> navigableKeySet()
Specified by:
navigableKeySet in interface java.util.NavigableMap<K,V>

descendingKeySet

public java.util.NavigableSet<K> descendingKeySet()
Specified by:
descendingKeySet in interface java.util.NavigableMap<K,V>

subMap

public java.util.NavigableMap<K,V> subMap(K fromKey,
                                          boolean fromInclusive,
                                          K toKey,
                                          boolean toInclusive)
Specified by:
subMap in interface java.util.NavigableMap<K,V>

headMap

public java.util.NavigableMap<K,V> headMap(K toKey,
                                           boolean inclusive)
Specified by:
headMap in interface java.util.NavigableMap<K,V>

tailMap

public java.util.NavigableMap<K,V> tailMap(K fromKey,
                                           boolean inclusive)
Specified by:
tailMap in interface java.util.NavigableMap<K,V>

subMap

public java.util.SortedMap<K,V> subMap(K fromKey,
                                       K toKey)
Specified by:
subMap in interface java.util.NavigableMap<K,V>
Specified by:
subMap in interface java.util.SortedMap<K,V>

headMap

public java.util.SortedMap<K,V> headMap(K toKey)
Specified by:
headMap in interface java.util.NavigableMap<K,V>
Specified by:
headMap in interface java.util.SortedMap<K,V>

tailMap

public java.util.SortedMap<K,V> tailMap(K fromKey)
Specified by:
tailMap in interface java.util.NavigableMap<K,V>
Specified by:
tailMap in interface java.util.SortedMap<K,V>

values

public java.util.Collection<V> values()
Specified by:
values in interface java.util.Map<K,V>
Specified by:
values in interface java.util.SortedMap<K,V>
Overrides:
values in class ForwardingMap<K,V>