org.apache.commons.beanutils
public class BasicDynaClass extends Object implements DynaClass, Serializable
Minimal implementation of the DynaClass
interface. Can be
used as a convenience base class for more sophisticated implementations.
IMPLEMENTATION NOTE - The DynaBean
implementation class supplied to our constructor MUST have a one-argument
constructor of its own that accepts a DynaClass
. This is
used to associate the DynaBean instance with this DynaClass.
Version: $Revision: 926529 $ $Date: 2010-03-23 11:44:24 +0000 (Tue, 23 Mar 2010) $
Field Summary | |
---|---|
protected Constructor | constructor
The constructor of the dynaBeanClass that we will use
for creating new instances. |
protected static Class[] | constructorTypes
The method signature of the constructor we will use to create
new DynaBean instances. |
protected Object[] | constructorValues
The argument values to be passed to the constructore we will use
to create new DynaBean instances. |
protected Class | dynaBeanClass
The DynaBean implementation class we will use for
creating new instances. |
protected String | name
The "name" of this DynaBean class. |
protected DynaProperty[] | properties
The set of dynamic properties that are part of this DynaClass. |
protected HashMap | propertiesMap
The set of dynamic properties that are part of this DynaClass,
keyed by the property name. |
Constructor Summary | |
---|---|
BasicDynaClass()
Construct a new BasicDynaClass with default parameters. | |
BasicDynaClass(String name, Class dynaBeanClass)
Construct a new BasicDynaClass with the specified parameters.
| |
BasicDynaClass(String name, Class dynaBeanClass, DynaProperty[] properties)
Construct a new BasicDynaClass with the specified parameters.
|
Method Summary | |
---|---|
Class | getDynaBeanClass()
Return the Class object we will use to create new instances in the
newInstance() method. |
DynaProperty[] | getDynaProperties() Return an array of |
DynaProperty | getDynaProperty(String name)
Return a property descriptor for the specified property, if it exists;
otherwise, return null .
|
String | getName()
Return the name of this DynaClass (analogous to the
getName() method of java.lang.Class DynaClass implementation class to support
different dynamic classes, with different sets of properties.
|
DynaBean | newInstance()
Instantiate and return a new DynaBean instance, associated
with this DynaClass.
|
protected void | setDynaBeanClass(Class dynaBeanClass)
Set the Class object we will use to create new instances in the
newInstance() method. |
protected void | setProperties(DynaProperty[] properties)
Set the list of dynamic properties supported by this DynaClass.
|
dynaBeanClass
that we will use
for creating new instances.DynaBean
implementation class we will use for
creating new instances.properties
list.Parameters: name Name of this DynaBean class dynaBeanClass The implementation class for new instances
Parameters: name Name of this DynaBean class dynaBeanClass The implementation class for new intances properties Property descriptors for the supported properties
newInstance()
method. This Class MUST
implement the DynaBean
interface.
Returns: The class of the DynaBean
Return an array of ProperyDescriptors
for the properties
currently defined in this DynaClass. If no properties are defined, a
zero-length array will be returned.
FIXME - Should we really be implementing
getBeanInfo()
instead, which returns property descriptors
and a bunch of other stuff?
Returns: the set of properties for this DynaClass
null
.
Parameters: name Name of the dynamic property for which a descriptor is requested
Returns: The descriptor for the specified property
Throws: IllegalArgumentException if no property name is specified
getName()
method of java.lang.Class
DynaClass implementation class to support
different dynamic classes, with different sets of properties.
Returns: the name of the DynaClass
Returns: A new DynaBean
instance
Throws: IllegalAccessException if the Class or the appropriate constructor is not accessible InstantiationException if this Class represents an abstract class, an array class, a primitive type, or void; or if instantiation fails for some other reason
newInstance()
method. This Class MUST
implement the DynaBean
interface.
Parameters: dynaBeanClass The new Class object
Throws: IllegalArgumentException if the specified Class does not
implement the DynaBean
interface
Parameters: properties List of dynamic properties to be supported