org.apache.commons.validator
Class Field

java.lang.Object
  extended by org.apache.commons.validator.Field
All Implemented Interfaces:
Serializable, Cloneable

public class Field
extends Object
implements Cloneable, Serializable

This contains the list of pluggable validators to run on a field and any message information and variables to perform the validations and generate error messages. Instances of this class are configured with a <field> xml element.

The use of FastHashMap is deprecated and will be replaced in a future release.

Version:
$Revision: 591548 $ $Date: 2007-11-03 04:43:41 +0100 (Sa, 03. Nov 2007) $
See Also:
Form, Serialized Form

Field Summary
protected  Map[] args
          Holds Maps of arguments.
protected  boolean clientValidation
          The flag that indicates whether scripting should be generated by the client for client-side validation.
protected  String depends
          A comma separated list of validator's this field depends on.
protected  int fieldOrder
          The order of the Field in the Form.
protected  org.apache.commons.collections.FastHashMap hMsgs
          Deprecated. Subclasses should use getMsgMap() instead.
protected  org.apache.commons.collections.FastHashMap hVars
          Deprecated. Subclasses should use getVarMap() instead.
protected  String indexedListProperty
          The Field's indexed list property name.
protected  String indexedProperty
          The Field's indexed property name.
protected  String key
          The Field's unique key.
protected  int page
          The Page Number
protected  String property
          The Field's property name.
protected static String TOKEN_END
          The end of a token.
static String TOKEN_INDEXED
          This indicates an indexed property is being referenced.
protected static String TOKEN_START
          The start of a token.
protected static String TOKEN_VAR
          A Vriable token.
 
Constructor Summary
Field()
           
 
Method Summary
 void addArg(Arg arg)
          Add an Arg to the replacement argument list.
 void addMsg(Msg msg)
          Add a Msg to the Field.
 void addVar(String name, String value, String jsType)
          Add a Var, based on the values passed in, to the Field.
 void addVar(Var v)
          Add a Var to the Field.
 Object clone()
          Creates and returns a copy of this object.
 void generateKey()
          Generate correct key value.
 Arg getArg(int position)
          Gets the default Arg object at the given position.
 Arg getArg(String key, int position)
          Gets the Arg object at the given position.
 Arg[] getArgs(String key)
          Retrieves the Args for the given validator name.
 List getDependencyList()
          Gets an unmodifiable List of the dependencies in the same order they were defined in parameter passed to the setDepends() method.
 String getDepends()
          Gets the validation rules for this field as a comma separated list.
 int getFieldOrder()
          Gets the position of the Field in the validation list.
 String getIndexedListProperty()
          Gets the indexed property name of the field.
 String getIndexedProperty()
          Gets the indexed property name of the field.
 String getKey()
          Gets a unique key based on the property and indexedProperty fields.
 Msg getMessage(String key)
          Retrieve a message object.
 Map getMessages()
          The Field's messages are returned as an unmodifiable Map.
 String getMsg(String key)
          Retrieve a message value.
protected  Map getMsgMap()
          Returns a Map of String Msg names to Msg objects.
 int getPage()
          Gets the page value that the Field is associated with for validation.
 String getProperty()
          Gets the property name of the field.
 Var getVar(String mainKey)
          Retrieve a variable.
protected  Map getVarMap()
          Returns a Map of String Var names to Var objects.
 Map getVars()
          The Field's variables are returned as an unmodifiable Map.
 String getVarValue(String mainKey)
          Retrieve a variable's value.
 boolean isClientValidation()
          Determines whether client-side scripting should be generated for this field.
 boolean isDependency(String validatorName)
          Checks if the validator is listed as a dependency.
 boolean isIndexed()
          If there is a value specified for the indexedProperty field then true will be returned.
 void setClientValidation(boolean clientValidation)
          Sets the flag that determines whether client-side scripting should be generated for this field.
 void setDepends(String depends)
          Sets the validation rules for this field as a comma separated list.
 void setFieldOrder(int fieldOrder)
          Sets the position of the Field in the validation list.
 void setIndexedListProperty(String indexedListProperty)
          Sets the indexed property name of the field.
 void setIndexedProperty(String indexedProperty)
          Sets the indexed property name of the field.
 void setKey(String key)
          Sets a unique key for the field.
 void setPage(int page)
          Sets the page value that the Field is associated with for validation.
 void setProperty(String property)
          Sets the property name of the field.
 String toString()
          Returns a string representation of the object.
 ValidatorResults validate(Map params, Map actions)
          Run the configured validations on this field.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TOKEN_INDEXED

public static final String TOKEN_INDEXED
This indicates an indexed property is being referenced.

See Also:
Constant Field Values

TOKEN_START

protected static final String TOKEN_START
The start of a token.

See Also:
Constant Field Values

TOKEN_END

protected static final String TOKEN_END
The end of a token.

See Also:
Constant Field Values

TOKEN_VAR

protected static final String TOKEN_VAR
A Vriable token.

See Also:
Constant Field Values

property

protected String property
The Field's property name.


indexedProperty

protected String indexedProperty
The Field's indexed property name.


indexedListProperty

protected String indexedListProperty
The Field's indexed list property name.


key

protected String key
The Field's unique key.


depends

protected String depends
A comma separated list of validator's this field depends on.


page

protected int page
The Page Number


clientValidation

protected boolean clientValidation
The flag that indicates whether scripting should be generated by the client for client-side validation.

Since:
Validator 1.4

fieldOrder

protected int fieldOrder
The order of the Field in the Form.


hVars

protected org.apache.commons.collections.FastHashMap hVars
Deprecated. Subclasses should use getVarMap() instead.

hMsgs

protected org.apache.commons.collections.FastHashMap hMsgs
Deprecated. Subclasses should use getMsgMap() instead.

args

protected Map[] args
Holds Maps of arguments. args[0] returns the Map for the first replacement argument. Start with a 0 length array so that it will only grow to the size of the highest argument position.

Since:
Validator 1.1
Constructor Detail

Field

public Field()
Method Detail

getPage

public int getPage()
Gets the page value that the Field is associated with for validation.

Returns:
The page number.

setPage

public void setPage(int page)
Sets the page value that the Field is associated with for validation.

Parameters:
page - The page number.

getFieldOrder

public int getFieldOrder()
Gets the position of the Field in the validation list.

Returns:
The field position.

setFieldOrder

public void setFieldOrder(int fieldOrder)
Sets the position of the Field in the validation list.

Parameters:
fieldOrder - The field position.

getProperty

public String getProperty()
Gets the property name of the field.

Returns:
The field's property name.

setProperty

public void setProperty(String property)
Sets the property name of the field.

Parameters:
property - The field's property name.

getIndexedProperty

public String getIndexedProperty()
Gets the indexed property name of the field. This is the method name that can take an int as a parameter for indexed property value retrieval.

Returns:
The field's indexed property name.

setIndexedProperty

public void setIndexedProperty(String indexedProperty)
Sets the indexed property name of the field.

Parameters:
indexedProperty - The field's indexed property name.

getIndexedListProperty

public String getIndexedListProperty()
Gets the indexed property name of the field. This is the method name that will return an array or a Collection used to retrieve the list and then loop through the list performing the specified validations.

Returns:
The field's indexed List property name.

setIndexedListProperty

public void setIndexedListProperty(String indexedListProperty)
Sets the indexed property name of the field.

Parameters:
indexedListProperty - The field's indexed List property name.

getDepends

public String getDepends()
Gets the validation rules for this field as a comma separated list.

Returns:
A comma separated list of validator names.

setDepends

public void setDepends(String depends)
Sets the validation rules for this field as a comma separated list.

Parameters:
depends - A comma separated list of validator names.

addMsg

public void addMsg(Msg msg)
Add a Msg to the Field.

Parameters:
msg - A validation message.

getMsg

public String getMsg(String key)
Retrieve a message value.

Parameters:
key - Validation key.
Returns:
A validation message for a specified validator.

getMessage

public Msg getMessage(String key)
Retrieve a message object.

Parameters:
key - Validation key.
Returns:
A validation message for a specified validator.
Since:
Validator 1.1.4

getMessages

public Map getMessages()
The Field's messages are returned as an unmodifiable Map.

Returns:
Map of validation messages for the field.
Since:
Validator 1.1.4

isClientValidation

public boolean isClientValidation()
Determines whether client-side scripting should be generated for this field. The default is true

Returns:
true for scripting; otherwise false
Since:
Validator 1.4
See Also:
setClientValidation(boolean)

setClientValidation

public void setClientValidation(boolean clientValidation)
Sets the flag that determines whether client-side scripting should be generated for this field.

Parameters:
clientValidation - the scripting flag
Since:
Validator 1.4
See Also:
isClientValidation()

addArg

public void addArg(Arg arg)
Add an Arg to the replacement argument list.

Parameters:
arg - Validation message's argument.
Since:
Validator 1.1

getArg

public Arg getArg(int position)
Gets the default Arg object at the given position.

Parameters:
position - Validation message argument's position.
Returns:
The default Arg or null if not found.
Since:
Validator 1.1

getArg

public Arg getArg(String key,
                  int position)
Gets the Arg object at the given position. If the key finds a null value then the default value will be retrieved.

Parameters:
key - The name the Arg is stored under. If not found, the default Arg for the given position (if any) will be retrieved.
position - The Arg number to find.
Returns:
The Arg with the given name and position or null if not found.
Since:
Validator 1.1

getArgs

public Arg[] getArgs(String key)
Retrieves the Args for the given validator name.

Parameters:
key - The validator's args to retrieve.
Returns:
An Arg[] sorted by the Args' positions (i.e. the Arg at index 0 has a position of 0).
Since:
Validator 1.1.1

addVar

public void addVar(Var v)
Add a Var to the Field.

Parameters:
v - The Validator Argument.

addVar

public void addVar(String name,
                   String value,
                   String jsType)
Add a Var, based on the values passed in, to the Field.

Parameters:
name - Name of the validation.
value - The Argument's value.
jsType - The Javascript type.

getVar

public Var getVar(String mainKey)
Retrieve a variable.

Parameters:
mainKey - The Variable's key
Returns:
the Variable

getVarValue

public String getVarValue(String mainKey)
Retrieve a variable's value.

Parameters:
mainKey - The Variable's key
Returns:
the Variable's value

getVars

public Map getVars()
The Field's variables are returned as an unmodifiable Map.

Returns:
the Map of Variable's for a Field.

getKey

public String getKey()
Gets a unique key based on the property and indexedProperty fields.

Returns:
a unique key for the field.

setKey

public void setKey(String key)
Sets a unique key for the field. This can be used to change the key temporarily to have a unique key for an indexed field.

Parameters:
key - a unique key for the field

isIndexed

public boolean isIndexed()
If there is a value specified for the indexedProperty field then true will be returned. Otherwise it will be false.

Returns:
Whether the Field is indexed.

generateKey

public void generateKey()
Generate correct key value.


isDependency

public boolean isDependency(String validatorName)
Checks if the validator is listed as a dependency.

Parameters:
validatorName - Name of the validator to check.
Returns:
Whether the field is dependant on a validator.

getDependencyList

public List getDependencyList()
Gets an unmodifiable List of the dependencies in the same order they were defined in parameter passed to the setDepends() method.

Returns:
A list of the Field's dependancies.

clone

public Object clone()
Creates and returns a copy of this object.

Overrides:
clone in class Object
Returns:
A copy of the Field.

toString

public String toString()
Returns a string representation of the object.

Overrides:
toString in class Object
Returns:
A string representation of the object.

validate

public ValidatorResults validate(Map params,
                                 Map actions)
                          throws ValidatorException
Run the configured validations on this field. Run all validations in the depends clause over each item in turn, returning when the first one fails.

Parameters:
params - A Map of parameter class names to parameter values to pass into validation methods.
actions - A Map of validator names to ValidatorAction objects.
Returns:
A ValidatorResults object containing validation messages for this field.
Throws:
ValidatorException - If an error occurs during validation.

getMsgMap

protected Map getMsgMap()
Returns a Map of String Msg names to Msg objects.

Returns:
A Map of the Field's messages.
Since:
Validator 1.2.0

getVarMap

protected Map getVarMap()
Returns a Map of String Var names to Var objects.

Returns:
A Map of the Field's variables.
Since:
Validator 1.2.0


Copyright © 2002-2010 Apache Software Foundation. All Rights Reserved.