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: 1.11 $ $Date: 2004/02/28 13:18:33 $
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.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?
null
.
Parameters: name Name of the dynamic property for which a descriptor is requested
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.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