org.apache.struts.validator
Class BeanValidatorForm

java.lang.Object
  |
  +--org.apache.struts.action.ActionForm
        |
        +--org.apache.struts.validator.ValidatorForm
              |
              +--org.apache.struts.validator.BeanValidatorForm
All Implemented Interfaces:
org.apache.commons.beanutils.DynaBean, java.io.Serializable
Direct Known Subclasses:
LazyValidatorForm

public class BeanValidatorForm
extends ValidatorForm
implements org.apache.commons.beanutils.DynaBean, java.io.Serializable

Struts validator ActionForm backed by either a DynaBean or POJO JavaBean.

Passing a POJO JavaBean to the constructor will automatically create an associated WrapDynaBean. One use for this would be to migrate view objects from an existing system which, for the usual reasons, can't be changed to extend .

This form is based on the standard struts ValidatorForm for use with the Validator framework and validates either using the name from the Struts ActionMapping or the ActionMapping's path depending on whether pathValidation is true or false.

See Also:
Serialized Form

Field Summary
protected  org.apache.commons.beanutils.DynaBean dynaBean
          The DynaBean that this ActionForm is backed by.
protected static org.apache.commons.logging.Log logger
          Commons Logging
protected  boolean pathValidation
          Indicates whether the ActionMapping's path should be used for the validation key.
 
Fields inherited from class org.apache.struts.validator.ValidatorForm
log, page, validatorResults
 
Fields inherited from class org.apache.struts.action.ActionForm
multipartRequestHandler, servlet
 
Constructor Summary
BeanValidatorForm(java.lang.Object bean)
          Construct a new BeanValidatorForm with the specified bean.
 
Method Summary
 boolean contains(java.lang.String name, java.lang.String key)
          Does the specified mapped property contain a value for the specified key value?
 java.lang.Object get(java.lang.String name)
          Return the value of a simple property with the specified name.
 java.lang.Object get(java.lang.String name, int index)
          Return the value of an indexed property with the specified name.
 java.lang.Object get(java.lang.String name, java.lang.String key)
          Return the value of a mapped property with the specified name, or null if there is no value for the specified key.
 org.apache.commons.beanutils.DynaBean getDynaBean()
          Return the DynaBean that this ActionForm is backed by.
 org.apache.commons.beanutils.DynaClass getDynaClass()
          Return the DynaClass instance that describes the set of properties available for this DynaBean.
 java.lang.Object getInstance()
          Return the Bean that this ActionForm is backed by.
 java.lang.String getValidationKey(ActionMapping mapping, javax.servlet.http.HttpServletRequest request)
          Returns the Validation key
protected  boolean isPathValidation()
          Indicates whether this form should validate based on the ActionMapping's path.
 void remove(java.lang.String name, java.lang.String key)
          Remove any existing value for the specified key on the specified mapped property.
 void set(java.lang.String name, int index, java.lang.Object value)
          Set the value of an indexed property with the specified name.
 void set(java.lang.String name, java.lang.Object value)
          Set the value of a simple property with the specified name.
 void set(java.lang.String name, java.lang.String key, java.lang.Object value)
          Set the value of a mapped property with the specified name.
protected  void setPathValidation(boolean pathValidation)
          Set whether this form should validate based on the ActionMapping's path.
 int size(java.lang.String name)
          Return the size of an indexed or mapped property.
 
Methods inherited from class org.apache.struts.validator.ValidatorForm
getPage, getResultValueMap, getValidatorResults, reset, setPage, setValidatorResults, validate
 
Methods inherited from class org.apache.struts.action.ActionForm
getMultipartRequestHandler, getServlet, getServletWrapper, reset, setMultipartRequestHandler, setServlet, validate
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

logger

protected static org.apache.commons.logging.Log logger
Commons Logging

dynaBean

protected org.apache.commons.beanutils.DynaBean dynaBean
The DynaBean that this ActionForm is backed by.

pathValidation

protected boolean pathValidation
Indicates whether the ActionMapping's path should be used for the validation key.
Constructor Detail

BeanValidatorForm

public BeanValidatorForm(java.lang.Object bean)
Construct a new BeanValidatorForm with the specified bean.
Method Detail

setPathValidation

protected void setPathValidation(boolean pathValidation)

Set whether this form should validate based on the ActionMapping's path.


isPathValidation

protected boolean isPathValidation()

Indicates whether this form should validate based on the ActionMapping's path.


getDynaBean

public org.apache.commons.beanutils.DynaBean getDynaBean()

Return the DynaBean that this ActionForm is backed by.


getInstance

public java.lang.Object getInstance()

Return the Bean that this ActionForm is backed by.

If the DynaBean is a WrapDynaBean type then this method returns the 'Wrapped' POJO bean associated with it. If you require the actual WrapDynaBean then use the getDynaBean() method.


size

public int size(java.lang.String name)

Return the size of an indexed or mapped property.


getValidationKey

public java.lang.String getValidationKey(ActionMapping mapping,
                                         javax.servlet.http.HttpServletRequest request)
Returns the Validation key
Overrides:
getValidationKey in class ValidatorForm
Parameters:
mapping - The mapping used to select this instance
request - The servlet request we are processing
Returns:
validation key to use

getDynaClass

public org.apache.commons.beanutils.DynaClass getDynaClass()
Return the DynaClass instance that describes the set of properties available for this DynaBean.
Specified by:
getDynaClass in interface org.apache.commons.beanutils.DynaBean

get

public java.lang.Object get(java.lang.String name)
Return the value of a simple property with the specified name.
Specified by:
get in interface org.apache.commons.beanutils.DynaBean
Parameters:
name - Name of the property whose value is to be retrieved

get

public java.lang.Object get(java.lang.String name,
                            int index)
Return the value of an indexed property with the specified name.
Specified by:
get in interface org.apache.commons.beanutils.DynaBean
Parameters:
name - Name of the property whose value is to be retrieved
index - Index of the value to be retrieved

get

public java.lang.Object get(java.lang.String name,
                            java.lang.String key)
Return the value of a mapped property with the specified name, or null if there is no value for the specified key.
Specified by:
get in interface org.apache.commons.beanutils.DynaBean
Parameters:
name - Name of the property whose value is to be retrieved
key - Key of the value to be retrieved

set

public void set(java.lang.String name,
                java.lang.Object value)
Set the value of a simple property with the specified name.
Specified by:
set in interface org.apache.commons.beanutils.DynaBean
Parameters:
name - Name of the property whose value is to be set
value - Value to which this property is to be set

set

public void set(java.lang.String name,
                int index,
                java.lang.Object value)
Set the value of an indexed property with the specified name.
Specified by:
set in interface org.apache.commons.beanutils.DynaBean
Parameters:
name - Name of the property whose value is to be set
index - Index of the property to be set
value - Value to which this property is to be set

set

public void set(java.lang.String name,
                java.lang.String key,
                java.lang.Object value)
Set the value of a mapped property with the specified name.
Specified by:
set in interface org.apache.commons.beanutils.DynaBean
Parameters:
name - Name of the property whose value is to be set
key - Key of the property to be set
value - Value to which this property is to be set

contains

public boolean contains(java.lang.String name,
                        java.lang.String key)
Does the specified mapped property contain a value for the specified key value?
Specified by:
contains in interface org.apache.commons.beanutils.DynaBean
Parameters:
name - Name of the property to check
key - Name of the key to check

remove

public void remove(java.lang.String name,
                   java.lang.String key)
Remove any existing value for the specified key on the specified mapped property.
Specified by:
remove in interface org.apache.commons.beanutils.DynaBean
Parameters:
name - Name of the property for which a value is to be removed
key - Key of the value to be removed


Copyright 2000-2006 - The Apache Software Foundation