org.apache.struts.config
Class FormBeanConfig

java.lang.Object
  |
  +--org.apache.struts.config.FormBeanConfig
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
ActionFormBean

public class FormBeanConfig
extends java.lang.Object
implements java.io.Serializable

A JavaBean representing the configuration information of a <form-bean> element in a Struts configuration file.

Since:
Struts 1.1
Version:
$Rev: 54929 $ $Date: 2004-10-16 17:38:42 +0100 (Sat, 16 Oct 2004) $
See Also:
Serialized Form

Field Summary
protected  boolean configured
          Has this component been completely configured?
protected  DynaActionFormClass dynaActionFormClass
          The DynaActionFormClass associated with a DynaActionForm.
protected  boolean dynamic
          Is the form bean class an instance of DynaActionForm with dynamic properties?
protected  java.util.HashMap formProperties
          The set of FormProperty elements defining dynamic form properties for this form bean, keyed by property name.
protected  java.lang.String lock
          The lockable object we can synchronize on when creating DynaActionFormClass.
protected  java.lang.String name
          The unique identifier of this form bean, which is used to reference this bean in ActionMapping instances as well as for the name of the request or session attribute under which the corresponding form bean instance is created or accessed.
protected  boolean restricted
          Is this DynaClass currently restricted (for DynaBeans with a MutableDynaClass).
protected  java.lang.String type
          The fully qualified Java class name of the implementation class to be used or generated.
 
Constructor Summary
FormBeanConfig()
           
 
Method Summary
 void addFormPropertyConfig(FormPropertyConfig config)
          Add a new FormPropertyConfig instance to the set associated with this module.
 ActionForm createActionForm(ActionServlet servlet)
          Create and return an ActionForm instance appropriate to the information in this FormBeanConfig.
 FormPropertyConfig findFormPropertyConfig(java.lang.String name)
          Return the form property configuration for the specified property name, if any; otherwise return null.
 FormPropertyConfig[] findFormPropertyConfigs()
          Return the form property configurations for this module.
protected  java.lang.Class formBeanClass()
          Return the Class instance for the form bean implementation configured by this FormBeanConfig instance.
 void freeze()
          Freeze the configuration of this component.
 DynaActionFormClass getDynaActionFormClass()
          Return the DynaActionFormClass associated with a DynaActionForm.
 boolean getDynamic()
           
 java.lang.String getName()
           
 java.lang.String getType()
           
 boolean isRestricted()
          Indicates whether a MutableDynaClass is currently restricted.
 void removeFormPropertyConfig(FormPropertyConfig config)
          Remove the specified form property configuration instance.
 void setDynamic(boolean dynamic)
          Deprecated. The value to be returned by getDynamic() is now computed automatically in setType()
 void setName(java.lang.String name)
           
 void setRestricted(boolean restricted)
          Set whether a MutableDynaClass is currently restricted.
 void setType(java.lang.String type)
           
 java.lang.String toString()
          Return a String representation of this object.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

configured

protected boolean configured
Has this component been completely configured?

formProperties

protected java.util.HashMap formProperties
The set of FormProperty elements defining dynamic form properties for this form bean, keyed by property name.

lock

protected java.lang.String lock

The lockable object we can synchronize on when creating DynaActionFormClass.


dynaActionFormClass

protected transient DynaActionFormClass dynaActionFormClass
The DynaActionFormClass associated with a DynaActionForm.

dynamic

protected boolean dynamic
Is the form bean class an instance of DynaActionForm with dynamic properties?

name

protected java.lang.String name
The unique identifier of this form bean, which is used to reference this bean in ActionMapping instances as well as for the name of the request or session attribute under which the corresponding form bean instance is created or accessed.

type

protected java.lang.String type
The fully qualified Java class name of the implementation class to be used or generated.

restricted

protected boolean restricted
Is this DynaClass currently restricted (for DynaBeans with a MutableDynaClass).
Constructor Detail

FormBeanConfig

public FormBeanConfig()
Method Detail

getDynaActionFormClass

public DynaActionFormClass getDynaActionFormClass()

Return the DynaActionFormClass associated with a DynaActionForm.

Throws:
java.lang.IllegalArgumentException - if the ActionForm is not dynamic

getDynamic

public boolean getDynamic()

setDynamic

public void setDynamic(boolean dynamic)
Deprecated. The value to be returned by getDynamic() is now computed automatically in setType()


getName

public java.lang.String getName()

setName

public void setName(java.lang.String name)

getType

public java.lang.String getType()

setType

public void setType(java.lang.String type)

isRestricted

public boolean isRestricted()

Indicates whether a MutableDynaClass is currently restricted.

If so, no changes to the existing registration of property names, data types, readability, or writeability are allowed.


setRestricted

public void setRestricted(boolean restricted)

Set whether a MutableDynaClass is currently restricted.

If so, no changes to the existing registration of property names, data types, readability, or writeability are allowed.


createActionForm

public ActionForm createActionForm(ActionServlet servlet)
                            throws java.lang.IllegalAccessException,
                                   java.lang.InstantiationException

Create and return an ActionForm instance appropriate to the information in this FormBeanConfig.

Parameters:
servlet - The action servlet
Returns:
ActionForm instance
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

addFormPropertyConfig

public void addFormPropertyConfig(FormPropertyConfig config)
Add a new FormPropertyConfig instance to the set associated with this module.
Parameters:
config - The new configuration instance to be added
Throws:
java.lang.IllegalArgumentException - if this property name has already been defined

findFormPropertyConfig

public FormPropertyConfig findFormPropertyConfig(java.lang.String name)
Return the form property configuration for the specified property name, if any; otherwise return null.
Parameters:
name - Form property name to find a configuration for

findFormPropertyConfigs

public FormPropertyConfig[] findFormPropertyConfigs()
Return the form property configurations for this module. If there are none, a zero-length array is returned.

freeze

public void freeze()
Freeze the configuration of this component.

removeFormPropertyConfig

public void removeFormPropertyConfig(FormPropertyConfig config)
Remove the specified form property configuration instance.
Parameters:
config - FormPropertyConfig instance to be removed

toString

public java.lang.String toString()
Return a String representation of this object.
Overrides:
toString in class java.lang.Object

formBeanClass

protected java.lang.Class formBeanClass()
Return the Class instance for the form bean implementation configured by this FormBeanConfig instance. This method uses the same algorithm as RequestUtils.applicationClass() but is reproduced to avoid a runtime dependence.


Copyright 2000-2006 - The Apache Software Foundation