org.apache.commons.collections.map
Class LazySortedMap<K,V>
java.lang.Object
org.apache.commons.collections.map.AbstractMapDecorator<K,V>
org.apache.commons.collections.map.LazyMap<K,V>
org.apache.commons.collections.map.LazySortedMap<K,V>
- All Implemented Interfaces:
- Serializable, Map<K,V>, SortedMap<K,V>
public class LazySortedMap<K,V>
- extends LazyMap<K,V>
- implements SortedMap<K,V>
Decorates another SortedMap to create objects in the map on demand.
When the LazyMap.get(Object) method is called with a key that does not
exist in the map, the factory is used to create the object. The created
object will be added to the map using the requested key.
For instance:
Factory factory = new Factory() {
public Object create() {
return new Date();
}
}
SortedMap lazy = Lazy.sortedMap(new HashMap(), factory);
Object obj = lazy.get("NOW");
After the above code is executed, obj will contain
a new Date instance. Furthermore, that Date
instance is mapped to the "NOW" key in the map.
This class is Serializable from Commons Collections 3.1.
- Since:
- Commons Collections 3.0
- Version:
- $Revision: 1.1.1.1 $ $Date: 2005/05/23 04:35:53 $
- Author:
- Stephen Colebourne, Matt Hall, John Watkinson, Paul Jack
- See Also:
- Serialized Form
| Nested classes/interfaces inherited from interface java.util.Map |
Map.Entry<K,V> |
| Fields inherited from class org.apache.commons.collections.map.LazyMap |
factory |
| Methods inherited from class org.apache.commons.collections.map.AbstractMapDecorator |
clear, containsKey, containsValue, entrySet, equals, getMap, hashCode, isEmpty, keySet, put, putAll, remove, size, toString, values |
| Methods inherited from interface java.util.Map |
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values |
LazySortedMap
protected LazySortedMap(SortedMap<K,V> map,
Factory<V> factory)
- Constructor that wraps (not copies).
- Parameters:
map - the map to decorate, must not be nullfactory - the factory to use, must not be null
- Throws:
IllegalArgumentException - if map or factory is null
decorate
public static <K,V> SortedMap<K,V> decorate(SortedMap<K,V> map,
Factory<V> factory)
- Factory method to create a lazily instantiated sorted map.
- Parameters:
map - the map to decorate, must not be nullfactory - the factory to use, must not be null
- Throws:
IllegalArgumentException - if map or factory is null
getSortedMap
protected SortedMap<K,V> getSortedMap()
- Gets the map being decorated.
- Returns:
- the decorated map
firstKey
public K firstKey()
- Specified by:
firstKey in interface SortedMap<K,V>
lastKey
public K lastKey()
- Specified by:
lastKey in interface SortedMap<K,V>
comparator
public Comparator<? super K> comparator()
- Specified by:
comparator in interface SortedMap<K,V>
subMap
public SortedMap<K,V> subMap(K fromKey,
K toKey)
- Specified by:
subMap in interface SortedMap<K,V>
headMap
public SortedMap<K,V> headMap(K toKey)
- Specified by:
headMap in interface SortedMap<K,V>
tailMap
public SortedMap<K,V> tailMap(K fromKey)
- Specified by:
tailMap in interface SortedMap<K,V>
Copyright © 2005-2005 Apache Software Foundation, Matt Hall, John Watkinson. All Rights Reserved.