org.apache.struts.validator

Class BeanValidatorForm

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 DynaBeandynaBean
The DynaBean that this ActionForm is backed by.
protected static Loglogger
Commons Logging
protected booleanpathValidation
Indicates whether the ActionMapping's path should be used for the validation key.
Constructor Summary
BeanValidatorForm(Object bean)
Construct a new BeanValidatorForm with the specified bean.
Method Summary
booleancontains(String name, String key)
Does the specified mapped property contain a value for the specified key value?
Objectget(String name)
Return the value of a simple property with the specified name.
Objectget(String name, int index)
Return the value of an indexed property with the specified name.
Objectget(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.
DynaBeangetDynaBean()

Return the DynaBean that this ActionForm is backed by.

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

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.

StringgetValidationKey(ActionMapping mapping, HttpServletRequest request)
Returns the Validation key
protected booleanisPathValidation()

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

voidremove(String name, String key)
Remove any existing value for the specified key on the specified mapped property.
voidset(String name, Object value)
Set the value of a simple property with the specified name.
voidset(String name, int index, Object value)
Set the value of an indexed property with the specified name.
voidset(String name, String key, Object value)
Set the value of a mapped property with the specified name.
protected voidsetPathValidation(boolean pathValidation)

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

intsize(String name)

Return the size of an indexed or mapped property.

Field Detail

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 Detail

BeanValidatorForm

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

Method Detail

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, 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

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

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

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, 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

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

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