org.apache.commons.validator
public class ValidatorAction extends Object implements Serializable
Field Summary | |
---|---|
String | classname
The full class name of the class containing
the validation method associated with this action. |
List | dependencyList
An internal List representation of the other ValidatorAction s
this one depends on (if any). |
String | depends
The other ValidatorAction s that this one depends on. |
Object | instance
If the java method matching the correct signature isn't static, the
instance is stored in the action. |
String | javascript
An optional field to containing a JavaScript representation of the
java method assocated with this action. |
String | jsFunction
An optional field to contain the class path to be used to retrieve the
JavaScript function. |
String | jsFunctionName
An optional field to contain the name to be used if JavaScript is
generated. |
static Log | log
Logger. |
String | method
The full method name of the validation to be performed. |
List | methodParameterList
An internal List representation of all the validation method's
parameters defined in the methodParams String. |
String | methodParams The method signature of the validation method. |
String | msg
The default error message associated with this action. |
String | name
The name of the validation. |
Class[] | parameterClasses
The Class objects for each entry in methodParameterList. |
Class | validationClass
The Class object loaded from the classname. |
Method | validationMethod
The Method object loaded from the method name. |
Method Summary | |
---|---|
boolean | executeValidationMethod(Field field, Map params, ValidatorResults results, int pos)
Dynamically runs the validation method for this validator and returns
true if the data is valid. |
String | formatJavascriptFileName() |
String | generateJsFunction()
Used to generate the javascript name when it is not specified. |
ClassLoader | getClassLoader(Map params)
Returns the ClassLoader set in the Validator contained in the parameter
Map. |
String | getClassname()
Gets the class of the validator action. |
Object | getClassnameInstance()
Gets an instance based on the validator action's classname. |
Collection | getDependencies()
Gets the dependencies as a Collection . |
List | getDependencyList()
Returns the dependent validator names as an unmodifiable
List . |
String | getDepends()
Gets the dependencies of the validator action as a comma separated list
of validator names. |
String | getJavascript()
Gets the Javascript equivalent of the java class and method
associated with this action. |
String | getJsFunctionName()
Gets the Javascript function name. |
String | getMethod()
Gets the name of method being called for the validator action. |
String | getMethodParams()
Gets the method parameters for the method. |
List | getMethodParamsList()
Gets the method parameters for the method as an unmodifiable List. |
String | getMsg()
Gets the message associated with the validator action. |
String | getName()
Gets the name of the validator action. |
Object[] | getParameterValues(Map params)
Converts a List of parameter class names into their values contained in
the parameters Map. |
Object | getValidationClassInstance()
Return an instance of the validation class or null if the validation
method is static so does not require an instance to be executed. |
void | handleIndexedField(Field field, int pos, Object[] paramValues)
Modifies the paramValue array with indexed fields.
|
protected void | init()
Initialize based on set. |
boolean | isDependency(String validatorName)
Checks whether or not the value passed in is in the depends field. |
boolean | isValid(Object result)
If the result object is a Boolean , it will return its
value. |
boolean | javascriptAlreadyLoaded() |
protected void | loadJavascriptFunction()
Load the javascript function specified by the given path. |
void | loadParameterClasses(ClassLoader loader)
Converts a List of parameter class names into their Class objects. |
void | loadValidationClass(ClassLoader loader)
Load the Class object for the configured validation class name. |
void | loadValidationMethod()
Load the Method object for the configured validation method name. |
boolean | onlyReturnErrors(Map params)
Returns the onlyReturnErrors setting in the Validator contained in the
parameter Map. |
void | process(Map globalConstants)
Creates a FastHashMap for the isDependency method
based on depends. |
String | readJavascriptFile(String javascriptFileName)
Read a javascript function from a file. |
void | setClassname(String classname)
Sets the class of the validator action. |
void | setClassnameInstance(Object instance)
Sets an instance based on the validator action's classname. |
void | setDepends(String depends)
Sets the dependencies of the validator action. |
void | setJavascript(String javascript)
Sets the Javascript equivalent of the java class and method
associated with this action. |
void | setJsFunction(String jsFunction)
Sets the fully qualified class path of the Javascript function.
|
void | setJsFunctionName(String jsFunctionName)
Sets the Javascript function name. |
void | setMethod(String method)
Sets the name of method being called for the validator action. |
void | setMethodParams(String methodParams)
Sets the method parameters for the method. |
void | setMsg(String msg)
Sets the message associated with the validator action. |
void | setName(String name)
Sets the name of the validator action. |
String | toString()
Returns a string representation of the object. |
ValidatorAction
s
this one depends on (if any). This List gets updated
whenever setDepends() gets called. This is synchronized so a call to
setDepends() (which clears the List) won't interfere with a call to
isDependency().ValidatorAction
s that this one depends on. If
any errors occur in an action that this one depends on, this action will
not be processsed.The method signature of the validation method. This should be a comma delimited list of the full class names of each parameter in the correct order that the method takes.
Note: java.lang.Object
is reserved for the
JavaBean that is being validated. The ValidatorAction
and Field
that are associated with a field's
validation will automatically be populated if they are
specified in the method signature.
Parameters: field params A Map of class names to parameter values. results pos The index of the list property to validate if it's indexed.
Throws: ValidatorException
Returns: A filename suitable for passing to a ClassLoader.getResourceAsStream() method.
Deprecated: This will be removed after Validator 1.1.2
Gets an instance based on the validator action's classname.Deprecated: Use getDependencyList() instead.
Gets the dependencies as aCollection
.List
.Deprecated: This will be removed after Validator 1.1.2
Gets the method parameters for the method as an unmodifiable List.Parameters: params A Map of class names to parameter values.
Returns: An array containing the value object for each parameter. This array is in the same order as the given List and is suitable for passing to the validation method.
Parameters: field pos paramValues
Boolean
, it will return its
value. If not it will return false
if the object is
null
and true
if it isn't.Returns: true if the javascript for this action has already been loaded.
jsFunction
property should contain a
fully qualified package and script name, separated by periods, to be
loaded from the class loader that created this instance.
TODO if the path begins with a '/' the path will be intepreted as
absolute, and remain unchanged. If this fails then it will attempt to
treat the path as a file path. It is assumed the script ends with a
'.js'.Returns: An array containing the Class object for each parameter. This array is in the same order as the given List and is suitable for passing to the validation method.
Throws: ValidatorException if a class cannot be loaded.
Parameters: loader The ClassLoader used to load the Class object.
Throws: ValidatorException
Throws: ValidatorException
Deprecated: This functionality has been moved to other methods. It's no longer required to call this method to initialize this object.
Creates aFastHashMap
for the isDependency method
based on depends.Parameters: javascriptFileName The file containing the javascript.
Returns: The javascript function or null if it could not be loaded.
Deprecated: This will be removed after Validator 1.1.2
Sets an instance based on the validator action's classname.Parameters: depends A comma separated list of validator names.
This is optional and can be used instead of the setJavascript().
Attempting to call both setJsFunction
and setJavascript
will result in an IllegalStateException
being thrown.
If neither setJsFunction or setJavascript is set then validator will attempt to load the default javascript definition.
Examples If in the validator.xml : #1: <validator name="tire" jsFunction="com.yourcompany.project.tireFuncion"> Validator will attempt to load com.yourcompany.project.validateTireFunction.js from its class path. #2: <validator name="tire"> Validator will use the name attribute to try and load org.apache.commons.validator.javascript.validateTire.js which is the default javascript definition.
Parameters: methodParams A comma separated list of parameters.