org.apache.commons.beanutils
Interface DynaClass

All Known Subinterfaces:
MutableDynaClass
All Known Implementing Classes:
BasicDynaClass, LazyDynaClass, LazyDynaMap, ResultSetDynaClass, RowSetDynaClass, WrapDynaClass

public interface DynaClass

A DynaClass is a simulation of the functionality of java.lang.Class for classes implementing the DynaBean interface. DynaBean instances that share the same DynaClass all have the same set of available properties, along with any associated data types, read-only states, and write-only states.

Version:
$Revision: 555824 $ $Date: 2007-07-13 01:27:15 +0100 (Fri, 13 Jul 2007) $
Author:
Craig McClanahan, Michael Smith, Paulo Gaspar

Method Summary
 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.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.
 

Method Detail

getName

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.

Returns:
the name of the DynaClass

getDynaProperty

DynaProperty getDynaProperty(String name)
Return a property descriptor for the specified property, if it exists; otherwise, return null.

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

getDynaProperties

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?

Returns:
the set of properties for this DynaClass

newInstance

DynaBean newInstance()
                     throws IllegalAccessException,
                            InstantiationException
Instantiate and return a new DynaBean instance, associated with this DynaClass.

Returns:
A new DynaBean instance
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


Copyright © 2000-2009 The Apache Software Foundation. All Rights Reserved.