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.
| Modifier and Type | Field and Description | 
|---|---|
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<String,DynaProperty> | 
propertiesMap
The set of dynamic properties that are part of this DynaClass,
 keyed by the property name. 
 | 
| Constructor and Description | 
|---|
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. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
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(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, which
 allows the same 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. 
 | 
protected transient Constructor<?> constructor
dynaBeanClass that we will use
 for creating new instances.protected static Class<?>[] constructorTypes
protected Object[] constructorValues
protected Class<?> dynaBeanClass
DynaBean implementation class we will use for
 creating new instances.protected DynaProperty[] properties
protected HashMap<String,DynaProperty> propertiesMap
properties list.public BasicDynaClass()
public BasicDynaClass(String name, Class<?> dynaBeanClass)
name - Name of this DynaBean classdynaBeanClass - The implementation class for new instancespublic BasicDynaClass(String name, Class<?> dynaBeanClass, DynaProperty[] properties)
name - Name of this DynaBean classdynaBeanClass - The implementation class for new intancesproperties - Property descriptors for the supported propertiespublic String getName()
getName() method of java.lang.Class, which
 allows the same DynaClass implementation class to support
 different dynamic classes, with different sets of properties.public DynaProperty getDynaProperty(String name)
null.getDynaProperty in interface DynaClassname - Name of the dynamic property for which a descriptor
  is requestedIllegalArgumentException - 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 DynaClasspublic DynaBean newInstance() throws IllegalAccessException, InstantiationException
newInstance in interface DynaClassDynaBean instanceIllegalAccessException - if the Class or the appropriate
  constructor is not accessibleInstantiationException - if this Class represents an abstract
  class, an array class, a primitive type, or void; or if instantiation
  fails for some other reasonpublic Class<?> getDynaBeanClass()
newInstance() method.  This Class MUST
 implement the DynaBean interface.DynaBeanprotected void setDynaBeanClass(Class<?> dynaBeanClass)
newInstance() method.  This Class MUST
 implement the DynaBean interface.dynaBeanClass - The new Class objectIllegalArgumentException - if the specified Class does not
  implement the DynaBean interfaceprotected void setProperties(DynaProperty[] properties)
properties - List of dynamic properties to be supportedCopyright © 2000–2016 The Apache Software Foundation. All rights reserved.