org.apache.commons.beanutils
public class DynaBeanMapDecorator extends Object implements Map
Decorates a DynaBean to provide Map behaviour.
The motivation for this implementation is to provide access to DynaBean properties in technologies that are unaware of BeanUtils and DynaBeans - such as the expression languages of JSTL and JSF.
This can be achieved either by wrapping the DynaBean prior to
providing it to the technolody to process or by providing a Map
accessor method on the DynaBean implementation:
public Map getMap() {
return new DynaBeanMapDecorator(this);
}
This, for example, could be used in JSTL in the following way to access
a DynaBean's fooProperty:
${myDynaBean.map.fooProperty}To decorate a DynaBean simply instantiate this class with the target DynaBean:
Map fooMap = new DynaBeanMapDecorator(fooDynaBean);The above example creates a read only Map.
To create a Map which can be modified, construct a
DynaBeanMapDecorator with the read only
attribute set to false:
Map fooMap = new DynaBeanMapDecorator(fooDynaBean, false);In this implementation the entrySet(), keySet()
and values() methods create an unmodifiable
Set and it does not support the Map's clear()
and remove() operations.
Since: BeanUtils 1.8.0
Version: $Revision: 546471 $ $Date: 2007-06-12 13:57:20 +0100 (Tue, 12 Jun 2007) $
| Constructor Summary | |
|---|---|
| DynaBeanMapDecorator(DynaBean dynaBean)
Constructs a read only Map for the specified
DynaBean.
| |
| DynaBeanMapDecorator(DynaBean dynaBean, boolean readOnly)
Construct a Map for the specified DynaBean.
| |
| Method Summary | |
|---|---|
| void | clear()
clear() operation is not supported.
|
| boolean | containsKey(Object key)
Indicate whether the DynaBean contains a specified
value for one (or more) of its properties.
|
| boolean | containsValue(Object value)
Indicates whether the decorated DynaBean contains
a specified value.
|
| Set | entrySet() Returns the Set of the property/value mappings in the decorated DynaBean. Each element in the Set is a |
| Object | get(Object key)
Return the value for the specified key from
the decorated DynaBean.
|
| DynaBean | getDynaBean()
Provide access to the underlying DynaBean
this Map decorates.
|
| boolean | isEmpty()
Indicate whether the decorated DynaBean has
any properties.
|
| boolean | isReadOnly()
Indicate whether the Map is read only.
|
| Set | keySet() Returns the Set of the property names in the decorated DynaBean. N.B.For DynaBeans whose associated DynaClass is a MutableDynaClass a new Set is created every time, otherwise the Set is created only once and cached. |
| Object | put(Object key, Object value)
Set the value for the specified property in
the decorated DynaBean.
|
| void | putAll(Map map)
Copy the contents of a Map to the decorated DynaBean.
|
| Object | remove(Object key)
remove() operation is not supported.
|
| int | size()
Returns the number properties in the decorated
DynaBean. |
| Collection | values()
Returns the set of property values in the
decorated DynaBean.
|
Parameters: dynaBean The dyna bean being decorated
Throws: IllegalArgumentException if the DynaBean is null.
Parameters: dynaBean The dyna bean being decorated readOnly true if the Mpa is read only
otherwise false
Throws: IllegalArgumentException if the DynaBean is null.
Throws: UnsupportedOperationException
Parameters: key The DynaBean's property name
Returns: true if one of the DynaBean's
properties contains a specified value.
Parameters: value The value to check for.
Returns: true if one of the the DynaBean's
properties contains the specified value, otherwise
false.
Returns the Set of the property/value mappings in the decorated DynaBean.
Each element in the Set is a Map.Entry
type.
Returns: An unmodifiable set of the DynaBean property name/value pairs
Parameters: key The DynaBean's property name
Returns: The value for the specified property.
Returns: true if the DynaBean has
no properties, otherwise false.
Returns: true if the Map is read only,
otherwise false.
Returns the Set of the property names in the decorated DynaBean.
N.B.For DynaBeans whose associated DynaClass is a MutableDynaClass a new Set is created every time, otherwise the Set is created only once and cached.
Returns: An unmodifiable set of the DynaBeans property names.
Parameters: key The DynaBean's property name value The value for the specified property.
Returns: The previous property's value.
Throws: UnsupportedOperationException if
isReadOnly() is true.
Parameters: map The Map of values to copy.
Throws: UnsupportedOperationException if
isReadOnly() is true.
Parameters: key The DynaBean's property name
Returns: the value removed
Throws: UnsupportedOperationException
Returns: The number of properties.
Returns: Unmodifiable collection of values.