|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--org.apache.commons.beanutils.BasicDynaClass
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.
| Field Summary | |
protected java.lang.reflect.Constructor |
constructor
The constructor of the dynaBeanClass that we will use
for creating new instances. |
protected static java.lang.Class[] |
constructorTypes
The method signature of the constructor we will use to create new DynaBean instances. |
protected java.lang.Object[] |
constructorValues
The argument values to be passed to the constructore we will use to create new DynaBean instances. |
protected java.lang.Class |
dynaBeanClass
The DynaBean implementation class we will use for
creating new instances. |
protected java.lang.String |
name
The "name" of this DynaBean class. |
protected DynaProperty[] |
properties
The set of dynamic properties that are part of this DynaClass. |
protected java.util.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(java.lang.String name,
java.lang.Class dynaBeanClass)
Construct a new BasicDynaClass with the specified parameters. |
|
BasicDynaClass(java.lang.String name,
java.lang.Class dynaBeanClass,
DynaProperty[] properties)
Construct a new BasicDynaClass with the specified parameters. |
|
| Method Summary | |
java.lang.Class |
getDynaBeanClass()
Return the Class object we will use to create new instances in the newInstance() method. |
DynaProperty[] |
getDynaProperties()
Return an array of ProperyDescriptors for the properties
currently defined in this DynaClass. |
DynaProperty |
getDynaProperty(java.lang.String name)
Return a property descriptor for the specified property, if it exists; otherwise, return null. |
java.lang.String |
getName()
Return the name of this DynaClass (analogous to the getName() method of java.lang.ClassDynaClass 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(java.lang.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. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected transient java.lang.reflect.Constructor constructor
dynaBeanClass that we will use
for creating new instances.protected static java.lang.Class[] constructorTypes
protected java.lang.Object[] constructorValues
protected java.lang.Class dynaBeanClass
DynaBean implementation class we will use for
creating new instances.protected java.lang.String name
protected DynaProperty[] properties
protected java.util.HashMap propertiesMap
properties list.| Constructor Detail |
public BasicDynaClass()
public BasicDynaClass(java.lang.String name,
java.lang.Class dynaBeanClass)
name - Name of this DynaBean classdynaBeanClass - The implementation class for new instances
public BasicDynaClass(java.lang.String name,
java.lang.Class dynaBeanClass,
DynaProperty[] properties)
name - Name of this DynaBean classdynaBeanClass - The implementation class for new intancesproperties - Property descriptors for the supported properties| Method Detail |
public java.lang.String getName()
getName() method of java.lang.ClassDynaClass implementation class to support
different dynamic classes, with different sets of properties.getName in interface DynaClasspublic DynaProperty getDynaProperty(java.lang.String name)
null.getDynaProperty in interface DynaClassname - Name of the dynamic property for which a descriptor
is requestedjava.lang.IllegalArgumentException - if no property name is specifiedpublic DynaProperty[] getDynaProperties()
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?
getDynaProperties in interface DynaClass
public DynaBean newInstance()
throws java.lang.IllegalAccessException,
java.lang.InstantiationException
newInstance in interface DynaClassDynaBean instancejava.lang.IllegalAccessException - if the Class or the appropriate
constructor is not accessiblejava.lang.InstantiationException - if this Class represents an abstract
class, an array class, a primitive type, or void; or if instantiation
fails for some other reasonpublic java.lang.Class getDynaBeanClass()
newInstance() method. This Class MUST
implement the DynaBean interface.DynaBeanprotected void setDynaBeanClass(java.lang.Class dynaBeanClass)
newInstance() method. This Class MUST
implement the DynaBean interface.dynaBeanClass - The new Class objectjava.lang.IllegalArgumentException - if the specified Class does not
implement the DynaBean interfaceprotected void setProperties(DynaProperty[] properties)
properties - List of dynamic properties to be supported
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||