org.apache.commons.collections.map
public class TransformedMap extends AbstractInputCheckedMapDecorator implements Serializable
Map
to transform objects that are added.
The Map put methods and Map.Entry setValue method are affected by this class. Thus objects must be removed or searched for using their transformed form. For example, if the transformation converts Strings to Integers, you must use the Integer form to remove objects.
Note that TransformedMap 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 java.util.Collections#synchronizedMap(Map). 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: 348013 $ $Date: 2005-11-21 23:24:45 +0000 (Mon, 21 Nov 2005) $
Field Summary | |
---|---|
protected Transformer | keyTransformer The transformer to use for the key |
protected Transformer | valueTransformer The transformer to use for the value |
Constructor Summary | |
---|---|
protected | TransformedMap(Map map, Transformer keyTransformer, Transformer valueTransformer)
Constructor that wraps (not copies).
|
Method Summary | |
---|---|
protected Object | checkSetValue(Object value)
Override to transform the value when using setValue .
|
static Map | decorate(Map map, Transformer keyTransformer, Transformer valueTransformer)
Factory method to create a transforming map.
|
static Map | decorateTransform(Map map, Transformer keyTransformer, Transformer valueTransformer)
Factory method to create a transforming map that will transform
existing contents of the specified map.
|
protected boolean | isSetValueChecking()
Override to only return true when there is a value transformer.
|
Object | put(Object key, Object value) |
void | putAll(Map mapToCopy) |
protected Object | transformKey(Object object)
Transforms a key.
|
protected Map | transformMap(Map map)
Transforms a map.
|
protected Object | transformValue(Object object)
Transforms a value.
|
If there are any elements already in the collection being decorated, they are NOT transformed.
Parameters: map the map to decorate, must not be null keyTransformer the transformer to use for key conversion, null means no conversion valueTransformer the transformer to use for value conversion, null means no conversion
Throws: IllegalArgumentException if map is null
setValue
.
Parameters: value the value to transform
Returns: the transformed value
Since: Commons Collections 3.1
If there are any elements already in the map being decorated, they are NOT transformed. Constrast this with TransformedMap.
Parameters: map the map to decorate, must not be null keyTransformer the transformer to use for key conversion, null means no transformation valueTransformer the transformer to use for value conversion, null means no transformation
Throws: IllegalArgumentException if map is null
If there are any elements already in the map being decorated, they will be transformed by this method. Constrast this with TransformedMap.
Parameters: map the map to decorate, must not be null keyTransformer the transformer to use for key conversion, null means no transformation valueTransformer the transformer to use for value conversion, null means no transformation
Throws: IllegalArgumentException if map is null
Since: Commons Collections 3.2
Returns: true if a value transformer is in use
Since: Commons Collections 3.1
The transformer itself may throw an exception if necessary.
Parameters: object the object to transform
Throws: the transformed object
The transformer itself may throw an exception if necessary.
Parameters: map the map to transform
Throws: the transformed object
The transformer itself may throw an exception if necessary.
Parameters: object the object to transform
Throws: the transformed object