Package org.apache.commons.beanutils2
Class BasicDynaClass
java.lang.Object
org.apache.commons.beanutils2.BasicDynaClass
- All Implemented Interfaces:
- DynaClass
- Direct Known Subclasses:
- LazyDynaClass
 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 SummaryFieldsModifier and TypeFieldDescriptionprotected Constructor<?> The constructor of thedynaBeanClassthat we will use for creating new instances.protected Object[]The argument values to be passed to the constructor we will use to create new DynaBean instances.protected Class<?> TheDynaBeanimplementation class we will use for creating new instances.protected StringThe "name" of this DynaBean class.protected DynaProperty[]The set of dynamic properties that are part of this DynaClass.protected HashMap<String, DynaProperty> The set of dynamic properties that are part of this DynaClass, keyed by the property name.
- 
Constructor SummaryConstructorsConstructorDescriptionConstructs a new BasicDynaClass with default parameters.BasicDynaClass(String name, Class<?> dynaBeanClass) Constructs a new BasicDynaClass with the specified parameters.BasicDynaClass(String name, Class<?> dynaBeanClass, DynaProperty[] properties) Constructs a new BasicDynaClass with the specified parameters.
- 
Method SummaryModifier and TypeMethodDescriptionClass<?> Gets the Class object we will use to create new instances in thenewInstance()method.Return an array ofPropertyDescriptorfor the properties currently defined in this DynaClass.getDynaProperty(String name) Gets a property descriptor for the specified property, if it exists; otherwise, returnnull.getName()Gets the name of this DynaClass (analogous to thegetName()method ofClass, which allows the sameDynaClassimplementation class to support different dynamic classes, with different sets of properties.Instantiate and return a new DynaBean instance, associated with this DynaClass.protected voidsetDynaBeanClass(Class<?> dynaBeanClass) Sets the Class object we will use to create new instances in thenewInstance()method.protected voidsetProperties(DynaProperty[] properties) Sets the list of dynamic properties supported by this DynaClass.
- 
Field Details- 
constructorThe constructor of thedynaBeanClassthat we will use for creating new instances.
- 
constructorValuesThe argument values to be passed to the constructor we will use to create new DynaBean instances.
- 
dynaBeanClassTheDynaBeanimplementation class we will use for creating new instances.
- 
nameThe "name" of this DynaBean class.
- 
propertiesThe set of dynamic properties that are part of this DynaClass.
- 
propertiesMapThe set of dynamic properties that are part of this DynaClass, keyed by the property name. Individual descriptor instances will be the same instances as those in thepropertieslist.
 
- 
- 
Constructor Details- 
BasicDynaClasspublic BasicDynaClass()Constructs a new BasicDynaClass with default parameters.
- 
BasicDynaClassConstructs a new BasicDynaClass with the specified parameters.- Parameters:
- name- Name of this DynaBean class
- dynaBeanClass- The implementation class for new instances
 
- 
BasicDynaClassConstructs a new BasicDynaClass with the specified parameters.- Parameters:
- name- Name of this DynaBean class
- dynaBeanClass- The implementation class for new instances
- properties- Property descriptors for the supported properties
 
 
- 
- 
Method Details- 
getDynaBeanClassGets the Class object we will use to create new instances in thenewInstance()method. This Class MUST implement theDynaBeaninterface.- Returns:
- The class of the DynaBean
 
- 
getDynaPropertiesReturn an array of PropertyDescriptorfor 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?- Specified by:
- getDynaPropertiesin interface- DynaClass
- Returns:
- the set of properties for this DynaClass
 
- 
getDynaPropertyGets a property descriptor for the specified property, if it exists; otherwise, returnnull.- Specified by:
- getDynaPropertyin interface- DynaClass
- 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
 
- 
getNameGets the name of this DynaClass (analogous to thegetName()method ofClass, which allows the sameDynaClassimplementation class to support different dynamic classes, with different sets of properties.
- 
newInstanceInstantiate and return a new DynaBean instance, associated with this DynaClass.- Specified by:
- newInstancein interface- DynaClass
- Returns:
- A new DynaBeaninstance
- 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
 
- 
setDynaBeanClassSets the Class object we will use to create new instances in thenewInstance()method. This Class MUST implement theDynaBeaninterface.- Parameters:
- dynaBeanClass- The new Class object
- Throws:
- IllegalArgumentException- if the specified Class does not implement the- DynaBeaninterface
 
- 
setPropertiesSets the list of dynamic properties supported by this DynaClass.- Parameters:
- properties- List of dynamic properties to be supported
 
 
-