java.lang.Object | ||
↳ | org.apache.commons.collections.map.AbstractMapDecorator | |
↳ | org.apache.commons.collections.map.DefaultedMap |
Decorates another Map
returning a default value if the map
does not contain the requested key.
When the get(Object)
method is called with a key that does not
exist in the map, this map will return the default value specified in
the constructor/factory. Only the get method is altered, so the
containsKey(Object)
can be used to determine if a key really
is in the map or not.
The defaulted value is not added to the map.
Compare this behaviour with LazyMap
, which does add the value
to the map (via a Transformer).
For instance:
Map map = new DefaultedMap("NULL"); Object obj = map.get("Surname"); // obj == "NULL"After the above code is executed the map is still empty.
Note that DefaultedMap 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 synchronizedMap(Map)
. This class may throw
exceptions when accessed by concurrent threads without synchronization.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
value | The transformer to use if the map does not contain a key |
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
org.apache.commons.collections.map.AbstractMapDecorator
|
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs a new empty
DefaultedMap that decorates
a HashMap . |
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructor that wraps (not copies).
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Factory method to create a defaulting map.
| |||||||||||
Factory method to create a defaulting map.
| |||||||||||
Factory method to create a defaulting map.
| |||||||||||
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
org.apache.commons.collections.map.AbstractMapDecorator
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
java.util.Map
|
Constructs a new empty DefaultedMap
that decorates
a HashMap
.
The object passed in will be returned by the map whenever an unknown key is requested.
defaultValue | the default value to return when the key is not found |
---|
Constructor that wraps (not copies).
map | the map to decorate, must not be null |
---|---|
value | the value to use |
IllegalArgumentException | if map or transformer is null |
---|
Factory method to create a defaulting map.
The transformer specified is called when a missing key is found. The key is passed to the transformer as the input, and the result will be returned as the result of the map get(key) method.
map | the map to decorate, must not be null |
---|---|
factory | the factory to use, must not be null |
IllegalArgumentException | if map or factory is null |
---|
Factory method to create a defaulting map.
The factory specified is called when a missing key is found. The result will be returned as the result of the map get(key) method.
map | the map to decorate, must not be null |
---|---|
factory | the factory to use, must not be null |
IllegalArgumentException | if map or factory is null |
---|
Factory method to create a defaulting map.
The value specified is returned when a missing key is found.
map | the map to decorate, must not be null |
---|---|
defaultValue | the default value to return when the key is not found |
IllegalArgumentException | if map is null |
---|