org.apache.commons.beanutils
Class DynaBeanMapDecorator
java.lang.Object
org.apache.commons.beanutils.DynaBeanMapDecorator
- Map
public class DynaBeanMapDecorator
extends java.lang.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
DynaBean
s -
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}
Usage
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);
Limitations
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.
$Revision: 546471 $ $Date: 2007-06-12 13:57:20 +0100 (Tue, 12 Jun 2007) $
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 .
|
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.
|
private DynaProperty[] | getDynaProperties() - Convenience method to retrieve the
DynaProperty s
for this DynaClass .
|
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 .
|
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 .
|
private String | toString(Object obj) - Convenience method to convert an Object
to a String.
|
Collection | values() - Returns the set of property values in the
decorated
DynaBean .
|
readOnly
private boolean readOnly
DynaBeanMapDecorator
public DynaBeanMapDecorator(DynaBean dynaBean)
Constructs a read only Map for the specified
DynaBean
.
dynaBean
- The dyna bean being decorated
DynaBeanMapDecorator
public DynaBeanMapDecorator(DynaBean dynaBean,
boolean readOnly)
Construct a Map for the specified
DynaBean
.
dynaBean
- The dyna bean being decoratedreadOnly
- true
if the Mpa is read only
otherwise false
clear
public void clear()
clear() operation is not supported.
containsKey
public boolean containsKey(Object key)
Indicate whether the
DynaBean
contains a specified
value for one (or more) of its properties.
true
if one of the DynaBean
's
properties contains a specified value.
containsValue
public boolean containsValue(Object value)
Indicates whether the decorated
DynaBean
contains
a specified value.
value
- The value to check for.
true
if one of the the DynaBean
's
properties contains the specified value, otherwise
false
.
entrySet
public Set entrySet()
Returns the Set of the property/value mappings
in the decorated
DynaBean
.
Each element in the Set is a
Map.Entry
type.
- An unmodifiable set of the DynaBean
property name/value pairs
get
public Object get(Object key)
Return the value for the specified key from
the decorated
DynaBean
.
- The value for the specified property.
getDynaBean
public DynaBean getDynaBean()
Provide access to the underlying
DynaBean
this Map decorates.
isEmpty
public boolean isEmpty()
Indicate whether the decorated
DynaBean
has
any properties.
true
if the DynaBean
has
no properties, otherwise false
.
isReadOnly
public boolean isReadOnly()
Indicate whether the Map is read only.
true
if the Map is read only,
otherwise false
.
keySet
public Set keySet()
Returns the Set of the property
names in the decorated
DynaBean
.
N.B.For
DynaBean
s whose associated
DynaClass
is a
MutableDynaClass
a new Set is created every
time, otherwise the Set is created only once and cached.
- An unmodifiable set of the
DynaBean
s
property names.
put
public Object put(Object key,
Object value)
Set the value for the specified property in
the decorated
DynaBean
.
key
- The DynaBean
's property namevalue
- The value for the specified property.
- The previous property's value.
putAll
public void putAll(Map map)
Copy the contents of a Map to the decorated
DynaBean
.
map
- The Map of values to copy.
remove
public Object remove(Object key)
remove() operation is not supported.
size
public int size()
Returns the number properties in the decorated
DynaBean
.
- The number of properties.
toString
private String toString(Object obj)
Convenience method to convert an Object
to a String.
obj
- The Object to convert
- String representation of the object
values
public Collection values()
Returns the set of property values in the
decorated
DynaBean
.
- Unmodifiable collection of values.
Copyright (c) 2001-2007 - Apache Software Foundation