Class LazySortedMap
- java.lang.Object
-
- org.apache.commons.collections.map.AbstractMapDecorator
-
- org.apache.commons.collections.map.LazyMap
-
- org.apache.commons.collections.map.LazySortedMap
-
- All Implemented Interfaces:
Serializable
,Map
,SortedMap
public class LazySortedMap extends LazyMap implements SortedMap
Decorates anotherSortedMap
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 newDate
instance. Furthermore, thatDate
instance is mapped to the "NOW" key in the map.Note that LazySortedMap is not synchronized and is not thread-safe. If you wish to use this map from multiple threads concurrently, you must use appropriate synchronization. The simplest approach is to wrap this map using
Collections.synchronizedSortedMap(java.util.SortedMap<K, V>)
. This class may throw exceptions when accessed by concurrent threads without synchronization.This class is Serializable from Commons Collections 3.1.
- Since:
- Commons Collections 3.0
- Version:
- $Revision: 646777 $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
- Author:
- Stephen Colebourne, Paul Jack
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.commons.collections.map.AbstractMapDecorator
map
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
LazySortedMap(SortedMap map, Factory factory)
Constructor that wraps (not copies).protected
LazySortedMap(SortedMap map, Transformer factory)
Constructor that wraps (not copies).
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Comparator
comparator()
static SortedMap
decorate(SortedMap map, Factory factory)
Factory method to create a lazily instantiated sorted map.static SortedMap
decorate(SortedMap map, Transformer factory)
Factory method to create a lazily instantiated sorted map.Object
firstKey()
protected SortedMap
getSortedMap()
Gets the map being decorated.SortedMap
headMap(Object toKey)
Object
lastKey()
SortedMap
subMap(Object fromKey, Object toKey)
SortedMap
tailMap(Object fromKey)
-
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 class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size
-
-
-
-
Constructor Detail
-
LazySortedMap
protected LazySortedMap(SortedMap map, Factory 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
-
LazySortedMap
protected LazySortedMap(SortedMap map, Transformer 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
-
-
Method Detail
-
decorate
public static SortedMap decorate(SortedMap map, Factory 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
-
decorate
public static SortedMap decorate(SortedMap map, Transformer 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 getSortedMap()
Gets the map being decorated.- Returns:
- the decorated map
-
comparator
public Comparator comparator()
- Specified by:
comparator
in interfaceSortedMap
-
-