org.apache.commons.beanutils
Interface DynaClass

All Known Subinterfaces:
MutableDynaClass
All Known Implementing Classes:
BasicDynaClass, JDBCDynaClass, 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: 1.12 $ $Date: 2004/02/28 13:18:33 $
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(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.
 

Method Detail

getName

public 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.


getDynaProperty

public DynaProperty getDynaProperty(java.lang.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
Throws:
java.lang.IllegalArgumentException - if no property name is specified

getDynaProperties

public 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?


newInstance

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

Throws:
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 reason


Copyright (c) 2001-2004 - Apache Software Foundation