Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.apache.commons.validator.Field
public class Field
extends java.lang.Object
implements Cloneable, Serializable
Form
Nested Class Summary |
Field Summary | |
static String |
|
private static String |
|
protected static String | |
static String |
|
protected static String | |
protected static String | |
protected Map[] |
|
private List |
|
protected String |
|
protected int | |
protected FastHashMap |
|
protected FastHashMap |
|
protected FastHashMap |
|
protected FastHashMap |
|
protected FastHashMap |
|
protected FastHashMap | |
protected FastHashMap | |
protected String | |
protected String | |
protected String | |
protected int | |
protected String |
Method Summary | |
void | |
void | |
void | |
void | |
void | |
void | |
void |
|
void | |
void |
|
Object |
|
private void |
|
void |
|
Arg |
|
Arg |
|
Arg |
|
Arg |
|
Arg |
|
Arg |
|
Arg |
|
Arg |
|
Arg |
|
Arg |
|
Arg[] |
|
Collection |
|
List |
|
String |
|
int |
|
String |
|
String |
|
(package private) Object[] |
|
String |
|
Msg |
|
Map |
|
String |
|
int |
|
String |
|
Var |
|
String |
|
Map |
|
private void |
|
private void |
|
boolean |
|
boolean |
|
void |
|
private void |
|
void |
|
private void |
|
private boolean |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
String |
|
(package private) ValidatorResults |
|
private boolean |
|
public static final String ARG_DEFAULT
Deprecated.
This is the value that will be used as a key if theArg
name field has no value.
private static final String DEFAULT_ARG
This is the value that will be used as a key if theArg
name field has no value.
protected static final String TOKEN_END
public static final String TOKEN_INDEXED
This indicates an indexed property is being referenced.
protected static final String TOKEN_START
protected static final String TOKEN_VAR
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
private List dependencyList
Internal representation of this.depends String as a List. This List gets updated whenever setDepends() gets called. This List is synchronized so a call to setDepends() (which clears the List) won't interfere with a call to isDependency().
protected String depends
A comma separated list of validator's this field depends on.
protected int fieldOrder
protected FastHashMap hArg0
Deprecated. This variable is no longer used, use args instead.
protected FastHashMap hArg1
Deprecated. This variable is no longer used, use args instead.
protected FastHashMap hArg2
Deprecated. This variable is no longer used, use args instead.
protected FastHashMap hArg3
Deprecated. This variable is no longer used, use args instead.
protected FastHashMap hDependencies
Deprecated. This is no longer used.
protected FastHashMap hMsgs
protected FastHashMap hVars
protected String indexedListProperty
protected String indexedProperty
protected String key
protected int page
protected String property
public void addVar(String name, String value, String jsType)
Add aVar
, based on the values passed in, to theField
.
- Parameters:
name
-value
-jsType
-
public void addVarParam(String name, String value, String jsType)
Deprecated. Use addVar(String, String, String) instead.
Add aVar
, based on the values passed in, to theField
.
public Object clone()
Creates and returns a copy of this object.
private void ensureArgsCapacity(Arg arg)
Ensures that the args array can hold the given arg. Resizes the array as necessary.
- Parameters:
arg
- Determine if the args array is long enough to store this arg's position.
public void generateKey()
Generate correctkey
value.
public Arg getArg(String key, int position)
Gets theArg
object at the given position. If the key finds anull
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
public Arg getArg(int position)
Gets the defaultArg
object at the given position.
- Returns:
- The default Arg or null if not found.
- Since:
- Validator 1.1
public Arg getArg0(String key)
Deprecated. Use getArg(String, 0) instead.
Gets the arg0Arg
object based on the key passed in. If the key finds anull
value then the default value will be retrieved.
public Arg getArg1(String key)
Deprecated. Use getArg(String, 1) instead.
Gets the arg1Arg
object based on the key passed in. If the key finds anull
value then the default value will try to be retrieved.
public Arg getArg2(String key)
Deprecated. Use getArg(String, 2) instead.
Gets the arg2Arg
object based on the key passed in. If the key finds anull
value then the default value will try to be retrieved.
public Arg getArg3(String key)
Deprecated. Use getArg(String, 3) instead.
Gets the arg3Arg
object based on the key passed in. If the key finds anull
value then the default value will try to be retrieved.
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
public Collection getDependencies()
Deprecated. Use getDependencyList() instead.
Gets an unmodifiableSet
of the dependencies.
public List getDependencyList()
Gets an unmodifiableList
of the dependencies in the same order they were defined in parameter passed to the setDepends() method.
public String getDepends()
Gets the validation rules for this field as a comma separated list.
public int getFieldOrder()
Gets the position of theField
in the validation list.
public String getIndexedListProperty()
Gets the indexed property name of the field. This is the method name that will return an array or aCollection
used to retrieve the list and then loop through the list performing the specified validations.
public String getIndexedProperty()
Gets the indexed property name of the field. This is the method name that can take anint
as a parameter for indexed property value retrieval.
(package private) Object[] getIndexedProperty(Object bean) throws ValidatorException
Returns an indexed property from the object we're validating.
- Parameters:
bean
- The bean to extract the indexed values from.
- Throws:
ValidatorException
- If there's an error looking up the property or, the property found is not indexed.
public String getKey()
Gets a unique key based on the property and indexedProperty fields.
public Map getMessages()
TheField
's messages are returned as an unmodifiableMap
.
- Since:
- Validator 1.1.4
public String getMsg(String key)
Retrieve a message value.
public int getPage()
Gets the page value that the Field is associated with for validation.
public String getProperty()
Gets the property name of the field.
public String getVarValue(String mainKey)
Retrieve a variable's value.
- Parameters:
mainKey
-
public Map getVars()
TheField
's variables are returned as an unmodifiableMap
.
private void handleMissingAction(String name) throws ValidatorException
Called when a validator name is used in a depends clause but there is no know ValidatorAction configured for that name.
- Parameters:
name
- The name of the validator in the depends list.
- Throws:
ValidatorException
-
private void internalProcessMessageComponents(String key, String replaceValue)
Replace the args key value with the key/value pairs passed in. TODO When processMessageComponents() is removed from the public API we should rename this private method to "processMessageComponents".
public boolean isDependency(String validatorName)
Checks if the validator is listed as a dependency.
public boolean isIndexed()
If there is a value specified for the indexedProperty field thentrue
will be returned. Otherwise it will befalse
.
public void process(Map globalConstants, Map constants)
Deprecated. This method is called by the framework. It will be made protected in a future release. TODO
Replace constants with values in fields and process the depends field to create the dependencyMap
.
private void processArg(String key, String replaceValue)
Replace the argCollection
key value with the key/value pairs passed in.
public void processMessageComponents(String key, String replaceValue)
Deprecated. This is an internal setup method that clients don't need to call.
Replace the args key value with the key/value pairs passed in.
private void processVars(String key, String replaceValue)
Replace the vars value with the key/value pairs passed in.
private boolean runDependentValidators(ValidatorAction va, ValidatorResults results, Map actions, Map params, int pos) throws ValidatorException
Calls all of the validators that this validator depends on. TODO ValidatorAction should know how to run its own dependencies.
- Parameters:
va
- Run dependent validators for this action.results
-actions
-pos
-
- Returns:
- true if all of the dependent validations passed.
- Throws:
ValidatorException
-
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.
public void setFieldOrder(int fieldOrder)
Sets the position of theField
in the validation list.
public void setIndexedListProperty(String indexedListProperty)
Sets the indexed property name of the field.
public void setIndexedProperty(String indexedProperty)
Sets the indexed property name of the field.
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
-
public void setPage(int page)
Sets the page value that the Field is associated with for validation.
public void setProperty(String property)
Sets the property name of the field.
public String toString()
Returns a string representation of the object.
(package private) 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.
private boolean validateForRule(ValidatorAction va, ValidatorResults results, Map actions, Map params, int pos) throws ValidatorException
Executes the given ValidatorAction and all ValidatorActions that it depends on.
- Returns:
- true if the validation succeeded.