Package org.apache.commons.validator
Class ValidatorResources
- java.lang.Object
-
- org.apache.commons.validator.ValidatorResources
-
- All Implemented Interfaces:
java.io.Serializable
public class ValidatorResources extends java.lang.Object implements java.io.Serializable
General purpose class for storing
FormSet
objects based on their associatedLocale
. Instances of this class are usually configured through a validation.xml file that is parsed in a constructor.Note - Classes that extend this class must be Serializable so that instances may be used in distributable application server environments.
The use of FastHashMap is deprecated and will be replaced in a future release.
- Version:
- $Revision: 1739361 $
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected FormSet
defaultFormSet
This is the defaultFormSet
(without locale).protected static java.util.Locale
defaultLocale
The default locale on our server.protected org.apache.commons.collections.FastHashMap
hActions
Deprecated.Subclasses should use getActions() instead.protected org.apache.commons.collections.FastHashMap
hConstants
Deprecated.Subclasses should use getConstants() instead.protected org.apache.commons.collections.FastHashMap
hFormSets
Deprecated.Subclasses should use getFormSets() instead.
-
Constructor Summary
Constructors Constructor Description ValidatorResources()
Create an empty ValidatorResources object.ValidatorResources(java.io.InputStream in)
Create a ValidatorResources object from an InputStream.ValidatorResources(java.io.InputStream[] streams)
Create a ValidatorResources object from an InputStream.ValidatorResources(java.lang.String uri)
Create a ValidatorResources object from an uriValidatorResources(java.lang.String[] uris)
Create a ValidatorResources object from several urisValidatorResources(java.net.URL url)
Create a ValidatorResources object from a URL.ValidatorResources(java.net.URL[] urls)
Create a ValidatorResources object from several URL.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addConstant(java.lang.String name, java.lang.String value)
Add a global constant to the resource.void
addFormSet(FormSet fs)
Add aFormSet
to thisValidatorResources
object.void
addValidatorAction(ValidatorAction va)
Add aValidatorAction
to the resource.protected java.lang.String
buildKey(FormSet fs)
Builds a key to store theFormSet
under based on it's language, country, and variant values.protected java.util.Map<java.lang.String,ValidatorAction>
getActions()
Returns a Map of String ValidatorAction names to their ValidatorAction.protected java.util.Map<java.lang.String,java.lang.String>
getConstants()
Returns a Map of String constant names to their String values.Form
getForm(java.lang.String language, java.lang.String country, java.lang.String variant, java.lang.String formKey)
Gets aForm
based on the name of the form and theLocale
that most closely matches theLocale
passed in.Form
getForm(java.util.Locale locale, java.lang.String formKey)
Gets aForm
based on the name of the form and theLocale
that most closely matches theLocale
passed in.protected java.util.Map<java.lang.String,FormSet>
getFormSets()
Returns a Map of String locale keys to Lists of their FormSets.ValidatorAction
getValidatorAction(java.lang.String key)
Get aValidatorAction
based on it's name.java.util.Map<java.lang.String,ValidatorAction>
getValidatorActions()
Get an unmodifiableMap
of theValidatorAction
s.void
process()
Process theValidatorResources
object.
-
-
-
Field Detail
-
hFormSets
@Deprecated protected org.apache.commons.collections.FastHashMap hFormSets
Deprecated.Subclasses should use getFormSets() instead.Map
ofFormSet
s stored under aLocale
key (expressed as a String).
-
hConstants
@Deprecated protected org.apache.commons.collections.FastHashMap hConstants
Deprecated.Subclasses should use getConstants() instead.Map
of global constant values with the name of the constant as the key.
-
hActions
@Deprecated protected org.apache.commons.collections.FastHashMap hActions
Deprecated.Subclasses should use getActions() instead.Map
ofValidatorAction
s with the name of theValidatorAction
as the key.
-
defaultLocale
protected static java.util.Locale defaultLocale
The default locale on our server.
-
defaultFormSet
protected FormSet defaultFormSet
This is the defaultFormSet
(without locale). (We probably don't need the defaultLocale anymore.)
-
-
Constructor Detail
-
ValidatorResources
public ValidatorResources()
Create an empty ValidatorResources object.
-
ValidatorResources
public ValidatorResources(java.io.InputStream in) throws java.io.IOException, org.xml.sax.SAXException
Create a ValidatorResources object from an InputStream.- Parameters:
in
- InputStream to a validation.xml configuration file. It's the client's responsibility to close this stream.- Throws:
org.xml.sax.SAXException
- if the validation XML files are not valid or well formed.java.io.IOException
- if an I/O error occurs processing the XML files- Since:
- Validator 1.1
-
ValidatorResources
public ValidatorResources(java.io.InputStream[] streams) throws java.io.IOException, org.xml.sax.SAXException
Create a ValidatorResources object from an InputStream.- Parameters:
streams
- An array of InputStreams to several validation.xml configuration files that will be read in order and merged into this object. It's the client's responsibility to close these streams.- Throws:
org.xml.sax.SAXException
- if the validation XML files are not valid or well formed.java.io.IOException
- if an I/O error occurs processing the XML files- Since:
- Validator 1.1
-
ValidatorResources
public ValidatorResources(java.lang.String uri) throws java.io.IOException, org.xml.sax.SAXException
Create a ValidatorResources object from an uri- Parameters:
uri
- The location of a validation.xml configuration file.- Throws:
org.xml.sax.SAXException
- if the validation XML files are not valid or well formed.java.io.IOException
- if an I/O error occurs processing the XML files- Since:
- Validator 1.2
-
ValidatorResources
public ValidatorResources(java.lang.String[] uris) throws java.io.IOException, org.xml.sax.SAXException
Create a ValidatorResources object from several uris- Parameters:
uris
- An array of uris to several validation.xml configuration files that will be read in order and merged into this object.- Throws:
org.xml.sax.SAXException
- if the validation XML files are not valid or well formed.java.io.IOException
- if an I/O error occurs processing the XML files- Since:
- Validator 1.2
-
ValidatorResources
public ValidatorResources(java.net.URL url) throws java.io.IOException, org.xml.sax.SAXException
Create a ValidatorResources object from a URL.- Parameters:
url
- The URL for the validation.xml configuration file that will be read into this object.- Throws:
org.xml.sax.SAXException
- if the validation XML file are not valid or well formed.java.io.IOException
- if an I/O error occurs processing the XML files- Since:
- Validator 1.3.1
-
ValidatorResources
public ValidatorResources(java.net.URL[] urls) throws java.io.IOException, org.xml.sax.SAXException
Create a ValidatorResources object from several URL.- Parameters:
urls
- An array of URL to several validation.xml configuration files that will be read in order and merged into this object.- Throws:
org.xml.sax.SAXException
- if the validation XML files are not valid or well formed.java.io.IOException
- if an I/O error occurs processing the XML files- Since:
- Validator 1.3.1
-
-
Method Detail
-
addFormSet
public void addFormSet(FormSet fs)
Add aFormSet
to thisValidatorResources
object. It will be associated with theLocale
of theFormSet
.- Parameters:
fs
- The form set to add.- Since:
- Validator 1.1
-
addConstant
public void addConstant(java.lang.String name, java.lang.String value)
Add a global constant to the resource.- Parameters:
name
- The constant name.value
- The constant value.
-
addValidatorAction
public void addValidatorAction(ValidatorAction va)
Add aValidatorAction
to the resource. It also creates an instance of the class based on theValidatorAction
s classname and retrieves theMethod
instance and sets them in theValidatorAction
.- Parameters:
va
- The validator action.
-
getValidatorAction
public ValidatorAction getValidatorAction(java.lang.String key)
Get aValidatorAction
based on it's name.- Parameters:
key
- The validator action key.- Returns:
- The validator action.
-
getValidatorActions
public java.util.Map<java.lang.String,ValidatorAction> getValidatorActions()
Get an unmodifiableMap
of theValidatorAction
s.- Returns:
- Map of validator actions.
-
buildKey
protected java.lang.String buildKey(FormSet fs)
Builds a key to store theFormSet
under based on it's language, country, and variant values.- Parameters:
fs
- The Form Set.- Returns:
- generated key for a formset.
-
getForm
public Form getForm(java.util.Locale locale, java.lang.String formKey)
Gets a
Form
based on the name of the form and theLocale
that most closely matches theLocale
passed in. The order ofLocale
matching is:- language + country + variant
- language + country
- language
- default locale
- Parameters:
locale
- The Locale.formKey
- The key for the Form.- Returns:
- The validator Form.
- Since:
- Validator 1.1
-
getForm
public Form getForm(java.lang.String language, java.lang.String country, java.lang.String variant, java.lang.String formKey)
Gets a
Form
based on the name of the form and theLocale
that most closely matches theLocale
passed in. The order ofLocale
matching is:- language + country + variant
- language + country
- language
- default locale
- Parameters:
language
- The locale's language.country
- The locale's country.variant
- The locale's language variant.formKey
- The key for the Form.- Returns:
- The validator Form.
- Since:
- Validator 1.1
-
process
public void process()
Process theValidatorResources
object. Currently sets theFastHashMap
s to the 'fast' mode and call the processes all other resources. Note : The framework calls this automatically when ValidatorResources is created from an XML file. If you create an instance of this class by hand you must call this method when finished.
-
getFormSets
protected java.util.Map<java.lang.String,FormSet> getFormSets()
Returns a Map of String locale keys to Lists of their FormSets.- Returns:
- Map of Form sets
- Since:
- Validator 1.2.0
-
getConstants
protected java.util.Map<java.lang.String,java.lang.String> getConstants()
Returns a Map of String constant names to their String values.- Returns:
- Map of Constants
- Since:
- Validator 1.2.0
-
getActions
protected java.util.Map<java.lang.String,ValidatorAction> getActions()
Returns a Map of String ValidatorAction names to their ValidatorAction.- Returns:
- Map of Validator Actions
- Since:
- Validator 1.2.0
-
-