|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | 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.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(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 instancespublic 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 propertiesMethod Detail |
public java.lang.String getName()
getName()
method of java.lang.Class
DynaClass implementation class to support
different dynamic classes, with different sets of properties.
getName
in interface DynaClass
public DynaProperty getDynaProperty(java.lang.String name)
null
.
getDynaProperty
in interface DynaClass
name
- Name of the dynamic property for which a descriptor
is requested
java.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 DynaClass
java.lang.IllegalAccessException
- if the Class or the appropriate
constructor is not accessible
java.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.
protected void setDynaBeanClass(java.lang.Class dynaBeanClass)
newInstance()
method. This Class MUST
implement the DynaBean
interface.
dynaBeanClass
- The new Class object
java.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: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |