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:
    $Id$

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `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–2019 The Apache Software Foundation. All rights reserved.