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.