Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.struts.action
Class DynaActionFormClass

    java.lang.Object
      org.apache.struts.action.DynaActionFormClass

All Implemented Interfaces:
  Serializable, DynaClass

    public class DynaActionFormClass

extends Object
implements DynaClass, Serializable

Implementation of `DynaClass` for `DynaActionForm` classes that allow developers to define ActionForms without having to individually code all of the classes. NOTE - This class is only used in the internal implementation of dynamic action form beans. Application developers never need to consult this documentation.

Since:
  Struts 1.1
Version:
  $Rev: 471754 $ $Date: 2006-01-17 07:26:20 -0500 (Tue, 17 Jan 2006) $
See Also:
  Serialized Form

Field Summary
`protected Class` | `beanClass` The `DynaActionForm` implementation `Class` which we will use to create new bean instances.
`protected FormBeanConfig` | `config` The form bean configuration information for this class.
`protected String` | `name` The "dynamic class name" for this `DynaClass`.
`protected DynaProperty[]` | `properties` The set of dynamic properties that are part of this DynaClass.
`protected HashMap` | `propertiesMap` The set of dynamic properties that are part of this `DynaClass`, keyed by the property name.

Constructor Summary
`DynaActionFormClass(FormBeanConfig config)` Construct a new `DynaActionFormClass` for the specified form bean configuration.

Method Summary
`static DynaActionFormClass` | `createDynaActionFormClass(FormBeanConfig config)` Return the `DynaActionFormClass` instance for the specified form bean configuration instance.
`protected Class` | `getBeanClass()` Return the implementation class we are using to construct new instances, re-introspecting our `FormBeanConfig` if necessary (that is, after being deserialized, since `beanClass` is marked transient).
`DynaProperty[]` | `getDynaProperties()` Return an array of `DynaProperty`s 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.
`protected void` | `introspect(FormBeanConfig config)` Introspect our form bean configuration to identify the supported properties.
`DynaBean` | `newInstance()` Instantiate and return a new `DynaActionForm` instance, associated with this `DynaActionFormClass`.
`String` | `toString()` Render a `String` representation of this object.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### beanClass

    protected transient Class beanClass

  The `DynaActionForm` implementation `Class` which we will use to create new bean instances.

### config

    protected FormBeanConfig config

  The form bean configuration information for this class.

### name

    protected String name

  The "dynamic class name" for this `DynaClass`.

### properties

    protected DynaProperty[] properties

  The set of dynamic properties that are part of this DynaClass.

### propertiesMap

    protected HashMap propertiesMap

  The 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 the `properties` list.

Constructor Detail

### DynaActionFormClass

    public DynaActionFormClass(FormBeanConfig config)

  Construct a new `DynaActionFormClass` for the specified form bean configuration. This constructor is private; `DynaActionFormClass` instances will be created as needed via calls to the static `createDynaActionFormClass()` method.

  Parameters:
    `config` - The FormBeanConfig instance describing the properties of the bean to be created
  Throws:
    `IllegalArgumentException` - if the bean implementation class specified in the configuration is not DynaActionForm (or a subclass of DynaActionForm)

Method Detail

### getName

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

  Specified by:
    `getName` in interface `DynaClass`
  Returns:
    The name of this `DynaClass`.

### getDynaProperty

    public DynaProperty getDynaProperty(String name)

  Return a property descriptor for the specified property, if it exists; otherwise, return `null`.

  Specified by:
    `getDynaProperty` in interface `DynaClass`
  Parameters:
    `name` - Name of the dynamic property for which a descriptor is requested
  Returns:
    A property descriptor for the specified property.
  Throws:
    `IllegalArgumentException` - if no property name is specified

### getDynaProperties

    public DynaProperty[] getDynaProperties()

  Return an array of `DynaProperty`s for the properties currently defined in this `DynaClass`. If no properties are defined, a zero-length array will be returned.

  Specified by:
    `getDynaProperties` in interface `DynaClass`
  Returns:
    An array of property instances for this class.

### newInstance

    public DynaBean newInstance()
                         throws IllegalAccessException,
                                InstantiationException

  Instantiate and return a new `DynaActionForm` instance, associated with this `DynaActionFormClass`. The properties of the returned `DynaActionForm` will have been initialized to the default values specified in the form bean configuration information.

  Specified by:
    `newInstance` in interface `DynaClass`
  Returns:
    A new `DynaActionForm` 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

### toString

    public String toString()

  Render a `String` representation of this object.

  Overrides:
    `toString` in class `Object`
  Returns:
    The string representation of this instance.

### createDynaActionFormClass

    public static DynaActionFormClass createDynaActionFormClass(FormBeanConfig config)

  Return the `DynaActionFormClass` instance for the specified form bean configuration instance.

  Parameters:
    `config` - The config for which the class should be created.
  Returns:
    The instance for the specified form bean config.

### getBeanClass

    protected Class getBeanClass()

  Return the implementation class we are using to construct new instances, re-introspecting our `FormBeanConfig` if necessary (that is, after being deserialized, since `beanClass` is marked transient).

  Returns:
    The implementation class used to construct new instances.

### introspect

    protected void introspect(FormBeanConfig config)

  Introspect our form bean configuration to identify the supported properties.

  Parameters:
    `config` - The FormBeanConfig instance describing the properties of the bean to be created
  Throws:
    `IllegalArgumentException` - if the bean implementation class specified in the configuration is not DynaActionForm (or a subclass of DynaActionForm)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.