Class 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 associated Locale. 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 default FormSet (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 uri
      ValidatorResources​(java.lang.String[] uris)
      Create a ValidatorResources object from several uris
      ValidatorResources​(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 a FormSet to this ValidatorResources object.
      void addValidatorAction​(ValidatorAction va)
      Add a ValidatorAction to the resource.
      protected java.lang.String buildKey​(FormSet fs)
      Builds a key to store the FormSet 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 a Form based on the name of the form and the Locale that most closely matches the Locale passed in.
      Form getForm​(java.util.Locale locale, java.lang.String formKey)
      Gets a Form based on the name of the form and the Locale that most closely matches the Locale 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 a ValidatorAction based on it's name.
      java.util.Map<java.lang.String,​ValidatorAction> getValidatorActions()
      Get an unmodifiable Map of the ValidatorActions.
      void process()
      Process the ValidatorResources object.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • hFormSets

        @Deprecated
        protected org.apache.commons.collections.FastHashMap hFormSets
        Deprecated.
        Subclasses should use getFormSets() instead.
        Map of FormSets stored under a Locale 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 of ValidatorActions with the name of the ValidatorAction as the key.
      • defaultLocale

        protected static java.util.Locale defaultLocale
        The default locale on our server.
      • defaultFormSet

        protected FormSet defaultFormSet
        This is the default FormSet (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 a FormSet to this ValidatorResources object. It will be associated with the Locale of the FormSet.
        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 a ValidatorAction to the resource. It also creates an instance of the class based on the ValidatorActions classname and retrieves the Method instance and sets them in the ValidatorAction.
        Parameters:
        va - The validator action.
      • getValidatorAction

        public ValidatorAction getValidatorAction​(java.lang.String key)
        Get a ValidatorAction 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 unmodifiable Map of the ValidatorActions.
        Returns:
        Map of validator actions.
      • buildKey

        protected java.lang.String buildKey​(FormSet fs)
        Builds a key to store the FormSet 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 the Locale that most closely matches the Locale passed in. The order of Locale matching is:

        1. language + country + variant
        2. language + country
        3. language
        4. 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 the Locale that most closely matches the Locale passed in. The order of Locale matching is:

        1. language + country + variant
        2. language + country
        3. language
        4. 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 the ValidatorResources object. Currently sets the FastHashMap 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