public class BasicDynaBean extends Object implements DynaBean, Serializable
Minimal implementation of the DynaBean interface. Can be
used as a convenience base class for more sophisticated implementations.
IMPLEMENTATION NOTE - Instances of this class that are accessed from multiple threads simultaneously need to be synchronized.
IMPLEMENTATION NOTE - Instances of this class can be
successfully serialized and deserialized ONLY if all
property values are Serializable.
| Modifier and Type | Field and Description |
|---|---|
protected DynaClass |
dynaClass
The
DynaClass "base class" that this DynaBean
is associated with. |
protected HashMap<String,Object> |
values
The set of property values for this DynaBean, keyed by property name.
|
| Constructor and Description |
|---|
BasicDynaBean(DynaClass dynaClass)
Construct a new
DynaBean associated with the specified
DynaClass instance. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
contains(String name,
String key)
Does the specified mapped property contain a value for the specified
key value?
|
Object |
get(String name)
Return the value of a simple property with the specified name.
|
Object |
get(String name,
int index)
Return the value of an indexed property with the specified name.
|
Object |
get(String name,
String key)
Return the value of a mapped property with the specified name,
or
null if there is no value for the specified key. |
DynaClass |
getDynaClass()
Return the
DynaClass instance that describes the set of
properties available for this DynaBean. |
protected DynaProperty |
getDynaProperty(String name)
Return the property descriptor for the specified property name.
|
Map<String,Object> |
getMap()
Return a Map representation of this DynaBean.
|
protected boolean |
isAssignable(Class<?> dest,
Class<?> source)
Is an object of the source class assignable to the destination class?
|
void |
remove(String name,
String key)
Remove any existing value for the specified key on the
specified mapped property.
|
void |
set(String name,
int index,
Object value)
Set the value of an indexed property with the specified name.
|
void |
set(String name,
Object value)
Set the value of a simple property with the specified name.
|
void |
set(String name,
String key,
Object value)
Set the value of a mapped property with the specified name.
|
protected DynaClass dynaClass
DynaClass "base class" that this DynaBean
is associated with.public BasicDynaBean(DynaClass dynaClass)
DynaBean associated with the specified
DynaClass instance.dynaClass - The DynaClass we are associated withpublic boolean contains(String name, String key)
contains in interface DynaBeanname - Name of the property to checkkey - Name of the key to checktrue if the mapped property contains a value for
the specified key, otherwise falseIllegalArgumentException - if there is no property
of the specified namepublic Object get(String name)
get in interface DynaBeanname - Name of the property whose value is to be retrievedIllegalArgumentException - if there is no property
of the specified namepublic Object get(String name, int index)
get in interface DynaBeanname - Name of the property whose value is to be retrievedindex - Index of the value to be retrievedIllegalArgumentException - if there is no property
of the specified nameIllegalArgumentException - if the specified property
exists, but is not indexedIndexOutOfBoundsException - if the specified index
is outside the range of the underlying propertyNullPointerException - if no array or List has been
initialized for this propertypublic Object get(String name, String key)
null if there is no value for the specified key.get in interface DynaBeanname - Name of the property whose value is to be retrievedkey - Key of the value to be retrievedIllegalArgumentException - if there is no property
of the specified nameIllegalArgumentException - if the specified property
exists, but is not mappedpublic DynaClass getDynaClass()
DynaClass instance that describes the set of
properties available for this DynaBean.getDynaClass in interface DynaBeanprotected DynaProperty getDynaProperty(String name)
name - Name of the property for which to retrieve the descriptorIllegalArgumentException - if this is not a valid property
name for our DynaClasspublic Map<String,Object> getMap()
This, for example, could be used in JSTL in the following way to access
a DynaBean's fooProperty:
${myDynaBean.map.fooProperty}protected boolean isAssignable(Class<?> dest, Class<?> source)
dest - Destination classsource - Source classtrue if the source class is assignable to the
destination class, otherwise falsepublic void remove(String name, String key)
remove in interface DynaBeanname - Name of the property for which a value is to
be removedkey - Key of the value to be removedIllegalArgumentException - if there is no property
of the specified namepublic void set(String name, int index, Object value)
set in interface DynaBeanname - Name of the property whose value is to be setindex - Index of the property to be setvalue - Value to which this property is to be setConversionException - if the specified value cannot be
converted to the type required for this propertyIllegalArgumentException - if there is no property
of the specified nameIllegalArgumentException - if the specified property
exists, but is not indexedIndexOutOfBoundsException - if the specified index
is outside the range of the underlying propertypublic void set(String name, Object value)
set in interface DynaBeanname - Name of the property whose value is to be setvalue - Value to which this property is to be setConversionException - if the specified value cannot be
converted to the type required for this propertyIllegalArgumentException - if there is no property
of the specified nameNullPointerException - if an attempt is made to set a
primitive property to nullpublic void set(String name, String key, Object value)
set in interface DynaBeanname - Name of the property whose value is to be setkey - Key of the property to be setvalue - Value to which this property is to be setConversionException - if the specified value cannot be
converted to the type required for this propertyIllegalArgumentException - if there is no property
of the specified nameIllegalArgumentException - if the specified property
exists, but is not mappedCopyright © 2000–2025 The Apache Software Foundation. All rights reserved.