org.apache.struts.validator

Class BeanValidatorForm

Implemented Interfaces:
DynaBean, Serializable
Known Direct Subclasses:
LazyValidatorForm

public class BeanValidatorForm
extends ValidatorForm
implements DynaBean, 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.

Field Summary

protected DynaBean
dynaBean
The DynaBean that this ActionForm is backed by.
protected static 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(Object bean)
Construct a new BeanValidatorForm with the specified bean.

Method Summary

boolean
contains(String name, String key)
Does the specified mapped property contain a value for the specified key value?
Object
get(String name)
Return the value of a simple property with the specified name.
Object
get(String name, String key)
Return the value of a mapped property with the specified name, or null if there is no value for the specified key.
Object
get(String name, int index)
Return the value of an indexed property with the specified name.
DynaBean
getDynaBean()
Return the DynaBean that this ActionForm is backed by.
DynaClass
getDynaClass()
Return the DynaClass instance that describes the set of properties available for this DynaBean.
Object
getInstance()
Return the Bean that this ActionForm is backed by.
String
getValidationKey(ActionMapping mapping, HttpServletRequest request)
Returns the Validation key
protected boolean
isPathValidation()
Indicates whether this form should validate based on the ActionMapping's path.
void
remove(String name, String key)
Remove any existing value for the specified key on the specified mapped property.
void
set(String name, Object value)
Set the value of a simple property with the specified name.
void
set(String name, String key, Object value)
Set the value of a mapped property with the specified name.
void
set(String name, int index, Object value)
Set the value of an indexed property with the specified name.
protected void
setPathValidation(boolean pathValidation)
Set whether this form should validate based on the ActionMapping's path.
int
size(String name)
Return the size of an indexed or mapped property.

Methods inherited from class org.apache.struts.validator.ValidatorForm

getPage, getResultValueMap, getValidationKey, getValidatorResults, reset, setPage, setValidatorResults, validate

Methods inherited from class org.apache.struts.action.ActionForm

getMultipartRequestHandler, getServlet, getServletWrapper, reset, reset, setMultipartRequestHandler, setServlet, validate, validate

Field Details

dynaBean

protected DynaBean dynaBean
The DynaBean that this ActionForm is backed by.

logger

protected static Log logger
Commons Logging

pathValidation

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

Constructor Details

BeanValidatorForm

public BeanValidatorForm(Object bean)
Construct a new BeanValidatorForm with the specified bean.

Method Details

contains

public boolean contains(String name,
                        String key)
Does the specified mapped property contain a value for the specified key value?
Parameters:
name - Name of the property to check
key - Name of the key to check

get

public Object get(String name)
Return the value of a simple property with the specified name.
Parameters:
name - Name of the property whose value is to be retrieved

get

public Object get(String name,
                  String key)
Return the value of a mapped property with the specified name, or null if there is no value for the specified key.
Parameters:
name - Name of the property whose value is to be retrieved
key - Key of the value to be retrieved

get

public Object get(String name,
                  int index)
Return the value of an indexed property with the specified name.
Parameters:
name - Name of the property whose value is to be retrieved
index - Index of the value to be retrieved

getDynaBean

public DynaBean getDynaBean()
Return the DynaBean that this ActionForm is backed by.

getDynaClass

public DynaClass getDynaClass()
Return the DynaClass instance that describes the set of properties available for this DynaBean.

getInstance

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


getValidationKey

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

isPathValidation

protected boolean isPathValidation()
Indicates whether this form should validate based on the ActionMapping's path.

remove

public void remove(String name,
                   String key)
Remove any existing value for the specified key on the specified mapped property.
Parameters:
name - Name of the property for which a value is to be removed
key - Key of the value to be removed

set

public void set(String name,
                Object value)
Set the value of a simple property with the specified name.
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(String name,
                String key,
                Object value)
Set the value of a mapped property with the specified name.
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

set

public void set(String name,
                int index,
                Object value)
Set the value of an indexed property with the specified name.
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

setPathValidation

protected void setPathValidation(boolean pathValidation)
Set whether this form should validate based on the ActionMapping's path.

size

public int size(String name)
Return the size of an indexed or mapped property.

Copyright B) 2000-2007 - The Apache Software Foundation