Class AbstractSortedMapDecorator<K,V>
- java.lang.Object
-
- org.apache.openjpa.lib.util.collections.AbstractIterableMap<K,V>
-
- org.apache.openjpa.lib.util.collections.AbstractMapDecorator<K,V>
-
- org.apache.openjpa.lib.util.collections.AbstractSortedMapDecorator<K,V>
-
- Type Parameters:
K- the type of the keys in the mapV- the type of the values in the map
- All Implemented Interfaces:
java.util.Map<K,V>,java.util.SortedMap<K,V>,IterableMap<K,V>,IterableSortedMap<K,V>,OrderedMap<K,V>
- Direct Known Subclasses:
DualTreeBidiMap.ViewMap
public abstract class AbstractSortedMapDecorator<K,V> extends AbstractMapDecorator<K,V> implements IterableSortedMap<K,V>
Provides a base decorator that enables additional functionality to be added to a Map via decoration.Methods are forwarded directly to the decorated map.
This implementation does not perform any special processing with the map views. Instead it simply returns the set/collection from the wrapped map. This may be undesirable, for example if you are trying to write a validating implementation it would provide a loophole around the validation. But, you might want that loophole, so this class is kept simple.
- Since:
- 3.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAbstractSortedMapDecorator.SortedMapIterator<K,V>OrderedMapIterator implementation.
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractSortedMapDecorator()Constructor only used in deserialization, do not use otherwise.AbstractSortedMapDecorator(java.util.SortedMap<K,V> map)Constructor that wraps (not copies).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Comparator<? super K>comparator()protected java.util.SortedMap<K,V>decorated()Gets the map being decorated.KfirstKey()Gets the first key currently in this map.java.util.SortedMap<K,V>headMap(K toKey)KlastKey()Gets the last key currently in this map.OrderedMapIterator<K,V>mapIterator()Obtains aMapIteratorover the map.KnextKey(K key)Gets the next key after the one specified.KpreviousKey(K key)Gets the previous key before the one specified.java.util.SortedMap<K,V>subMap(K fromKey, K toKey)java.util.SortedMap<K,V>tailMap(K fromKey)-
Methods inherited from class org.apache.openjpa.lib.util.collections.AbstractMapDecorator
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, toString, values
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.openjpa.lib.util.collections.IterableMap
clear, put, putAll
-
-
-
-
Method Detail
-
decorated
protected java.util.SortedMap<K,V> decorated()
Gets the map being decorated.- Overrides:
decoratedin classAbstractMapDecorator<K,V>- Returns:
- the decorated map
-
comparator
public java.util.Comparator<? super K> comparator()
-
firstKey
public K firstKey()
Description copied from interface:OrderedMapGets the first key currently in this map.
-
lastKey
public K lastKey()
Description copied from interface:OrderedMapGets the last key currently in this map.
-
previousKey
public K previousKey(K key)
Description copied from interface:OrderedMapGets the previous key before the one specified.- Specified by:
previousKeyin interfaceOrderedMap<K,V>- Parameters:
key- the key to search for previous from- Returns:
- the previous key, null if no match or at start
-
nextKey
public K nextKey(K key)
Description copied from interface:OrderedMapGets the next key after the one specified.- Specified by:
nextKeyin interfaceOrderedMap<K,V>- Parameters:
key- the key to search for next from- Returns:
- the next key, null if no match or at end
-
mapIterator
public OrderedMapIterator<K,V> mapIterator()
Obtains aMapIteratorover the map.A map iterator is an efficient way of iterating over maps. There is no need to access the entry set or use Map Entry objects.
IterableMap<String,Integer> map = new HashedMap<String,Integer>(); MapIterator<String,Integer> it = map.mapIterator(); while (it.hasNext()) { String key = it.next(); Integer value = it.getValue(); it.setValue(value + 1); }- Specified by:
mapIteratorin interfaceIterableMap<K,V>- Specified by:
mapIteratorin interfaceOrderedMap<K,V>- Overrides:
mapIteratorin classAbstractIterableMap<K,V>- Returns:
- a map iterator
-
-