|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.beanutils.DynaBeanMapDecorator
public class DynaBeanMapDecorator
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}
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.
Nested Class Summary | |
---|---|
private static class |
DynaBeanMapDecorator.MapEntry
Map.Entry implementation. |
Nested classes/interfaces inherited from interface java.util.Map |
---|
Map.Entry<K,V> |
Field Summary | |
---|---|
private DynaBean |
dynaBean
|
private Set |
keySet
|
private boolean |
readOnly
|
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 . |
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 . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.util.Map |
---|
equals, hashCode |
Field Detail |
---|
private DynaBean dynaBean
private boolean readOnly
private transient Set keySet
Constructor Detail |
---|
public DynaBeanMapDecorator(DynaBean dynaBean)
DynaBean
.
dynaBean
- The dyna bean being decorated
IllegalArgumentException
- if the DynaBean
is null.public DynaBeanMapDecorator(DynaBean dynaBean, boolean readOnly)
DynaBean
.
dynaBean
- The dyna bean being decoratedreadOnly
- true
if the Mpa is read only
otherwise false
IllegalArgumentException
- if the DynaBean
is null.Method Detail |
---|
public boolean isReadOnly()
true
if the Map is read only,
otherwise false
.public void clear()
clear
in interface Map
UnsupportedOperationException
public boolean containsKey(Object key)
DynaBean
contains a specified
value for one (or more) of its properties.
containsKey
in interface Map
key
- The DynaBean
's property name
true
if one of the DynaBean
's
properties contains a specified value.public boolean containsValue(Object value)
DynaBean
contains
a specified value.
containsValue
in interface Map
value
- The value to check for.
true
if one of the the DynaBean
's
properties contains the specified value, otherwise
false
.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.
entrySet
in interface Map
public Object get(Object key)
DynaBean
.
get
in interface Map
key
- The DynaBean
's property name
public boolean isEmpty()
DynaBean
has
any properties.
isEmpty
in interface Map
true
if the DynaBean
has
no properties, otherwise false
.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.
keySet
in interface Map
DynaBean
s
property names.public Object put(Object key, Object value)
DynaBean
.
put
in interface Map
key
- The DynaBean
's property namevalue
- The value for the specified property.
UnsupportedOperationException
- if
isReadOnly()
is true.public void putAll(Map map)
DynaBean
.
putAll
in interface Map
map
- The Map of values to copy.
UnsupportedOperationException
- if
isReadOnly()
is true.public Object remove(Object key)
remove
in interface Map
key
- The DynaBean
's property name
UnsupportedOperationException
public int size()
DynaBean
.
size
in interface Map
public Collection values()
DynaBean
.
values
in interface Map
public DynaBean getDynaBean()
DynaBean
this Map decorates.
DynaBean
.private DynaProperty[] getDynaProperties()
DynaProperty
s
for this DynaClass
.
DynaProperty
s.private String toString(Object obj)
obj
- The Object to convert
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |