com.opensymphony.xwork2.validator

## Class DefaultActionValidatorManager

- java.lang.Object
- - com.opensymphony.xwork2.validator.DefaultActionValidatorManager

- All Implemented Interfaces:
    ActionValidatorManager
  Direct Known Subclasses:
    AnnotationActionValidatorManager

      public class DefaultActionValidatorManager
      extends Object
      implements ActionValidatorManager

  This is the entry point into XWork's rule-based validation framework.

  Validation rules are specified in XML configuration files named `className-contextName-validation.xml` where className is the name of the class the configuration is for and -contextName is optional (contextName is an arbitrary key that is used to look up additional validation rules for a specific context).

  Author:
    Jason Carreira, Mark Woon, James House, Rainer Hermanns

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected FileManager` | `fileManager`
    `protected boolean` | `reloadingConfigs`
    `protected TextProviderFactory` | `textProviderFactory`
    `protected static String` | `VALIDATION_CONFIG_SUFFIX` The file suffix for any validation file.
    `protected Map<String,List<ValidatorConfig>>` | `validatorCache`
    `protected ValidatorFactory` | `validatorFactory`
    `protected Map<String,List<ValidatorConfig>>` | `validatorFileCache`
    `protected ValidatorFileParser` | `validatorFileParser`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultActionValidatorManager()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected List<ValidatorConfig>` | `buildAliasValidatorConfigs(Class aClass, String context, boolean checkFile)`
    `protected List<ValidatorConfig>` | `buildClassValidatorConfigs(Class aClass, boolean checkFile)`
    `protected List<ValidatorConfig>` | `buildValidatorConfigs(Class clazz, String context, boolean checkFile, Set<String> checked)` This method 'collects' all the validator configurations for a given action invocation.
    `protected String` | `buildValidatorKey(Class clazz, String context)` Builds a key for validators - used when caching validators.
    `protected Validator` | `getValidatorFromValidatorConfig(ValidatorConfig config, ValueStack stack)`
    `List<Validator>` | `getValidators(Class clazz, String context)` Returns a list of validators for the given class and context.
    `List<Validator>` | `getValidators(Class clazz, String context, String method)` Returns a list of validators for the given class, context, and method.
    `protected List<ValidatorConfig>` | `loadFile(String fileName, Class clazz, boolean checkFile)`
    `void` | `setFileManagerFactory(FileManagerFactory fileManagerFactory)`
    `void` | `setReloadingConfigs(String reloadingConfigs)`
    `void` | `setTextProviderFactory(TextProviderFactory textProviderFactory)`
    `void` | `setValidatorFactory(ValidatorFactory fac)`
    `void` | `setValidatorFileParser(ValidatorFileParser parser)`
    `void` | `validate(Object object, String context)` Validates the given object using action and its context.
    `void` | `validate(Object object, String context, String method)` Validates the given object using an action, its context, and the name of the method being invoked on the action.
    `void` | `validate(Object object, String context, ValidatorContext validatorContext)` Validates an action give its context and a validation context.
    `void` | `validate(Object object, String context, ValidatorContext validatorContext, String method)` Validates an action give its context and a validation context.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### VALIDATION_CONFIG_SUFFIX

          protected static final String VALIDATION_CONFIG_SUFFIX

      The file suffix for any validation file.
      See Also:
        Constant Field Values

    - #### validatorCache

          protected final Map<String,List<ValidatorConfig>> validatorCache

    - #### validatorFileCache

          protected final Map<String,List<ValidatorConfig>> validatorFileCache

    - #### validatorFactory

          protected ValidatorFactory validatorFactory

    - #### validatorFileParser

          protected ValidatorFileParser validatorFileParser

    - #### fileManager

          protected FileManager fileManager

    - #### reloadingConfigs

          protected boolean reloadingConfigs

    - #### textProviderFactory

          protected TextProviderFactory textProviderFactory

  - ### Constructor Detail

    - #### DefaultActionValidatorManager

          public DefaultActionValidatorManager()

  - ### Method Detail

    - #### setValidatorFactory

          public void setValidatorFactory(ValidatorFactory fac)

    - #### setValidatorFileParser

          public void setValidatorFileParser(ValidatorFileParser parser)

    - #### setFileManagerFactory

          public void setFileManagerFactory(FileManagerFactory fileManagerFactory)

    - #### setReloadingConfigs

          public void setReloadingConfigs(String reloadingConfigs)

    - #### setTextProviderFactory

          public void setTextProviderFactory(TextProviderFactory textProviderFactory)

    - #### validate

          public void validate(Object object,
                               String context)
                        throws ValidationException

      Description copied from interface: `ActionValidatorManager`
      Validates the given object using action and its context.
      Specified by:
        `validate` in interface `ActionValidatorManager`
      Parameters:
        `object` - the action to validate.
        `context` - the action's context.
      Throws:
        `ValidationException` - if an error happens when validating the action.

    - #### validate

          public void validate(Object object,
                               String context,
                               String method)
                        throws ValidationException

      Description copied from interface: `ActionValidatorManager`
      Validates the given object using an action, its context, and the name of the method being invoked on the action.
      Specified by:
        `validate` in interface `ActionValidatorManager`
      Parameters:
        `object` - the action to validate.
        `context` - the action's context.
        `method` - the name of the method being invoked on the action - can be `null`.
      Throws:
        `ValidationException` - if an error happens when validating the action.

    - #### validate

          public void validate(Object object,
                               String context,
                               ValidatorContext validatorContext)
                        throws ValidationException

      Description copied from interface: `ActionValidatorManager`
      Validates an action give its context and a validation context.
      Specified by:
        `validate` in interface `ActionValidatorManager`
      Parameters:
        `object` - the action to validate.
        `context` - the action's context.
        `validatorContext` - the validation context to use
      Throws:
        `ValidationException` - if an error happens when validating the action.

    - #### buildValidatorKey

          protected String buildValidatorKey(Class clazz,
                                             String context)

      Builds a key for validators - used when caching validators.
      Parameters:
        `clazz` - the action.
        `context` - context
      Returns:
        a validator key which is the class name plus context.

    - #### getValidatorFromValidatorConfig

          protected Validator getValidatorFromValidatorConfig(ValidatorConfig config,
                                                              ValueStack stack)

    - #### getValidators

          public List<Validator> getValidators(Class clazz,
                                               String context,
                                               String method)

      Description copied from interface: `ActionValidatorManager`
      Returns a list of validators for the given class, context, and method. This is the primary lookup method for validators.
      Specified by:
        `getValidators` in interface `ActionValidatorManager`
      Parameters:
        `clazz` - the class to lookup.
        `context` - the context of the action class - can be `null`.
        `method` - the name of the method being invoked on the action - can be `null`.
      Returns:
        a list of all validators for the given class and context.

    - #### getValidators

          public List<Validator> getValidators(Class clazz,
                                               String context)

      Description copied from interface: `ActionValidatorManager`
      Returns a list of validators for the given class and context. This is the primary lookup method for validators.
      Specified by:
        `getValidators` in interface `ActionValidatorManager`
      Parameters:
        `clazz` - the class to lookup.
        `context` - the context of the action class - can be `null`.
      Returns:
        a list of all validators for the given class and context.

    - #### validate

          public void validate(Object object,
                               String context,
                               ValidatorContext validatorContext,
                               String method)
                        throws ValidationException

      Description copied from interface: `ActionValidatorManager`
      Validates an action give its context and a validation context.
      Specified by:
        `validate` in interface `ActionValidatorManager`
      Parameters:
        `object` - the action to validate.
        `context` - the action's context.
        `validatorContext` - the validation context to use
        `method` - the name of the method being invoked on the action - can be `null`.
      Throws:
        `ValidationException` - if an error happens when validating the action.

    - #### buildValidatorConfigs

          protected List<ValidatorConfig> buildValidatorConfigs(Class clazz,
                                                                String context,
                                                                boolean checkFile,
                                                                Set<String> checked)

      This method 'collects' all the validator configurations for a given action invocation.

      It will traverse up the class hierarchy looking for validators for every super class and directly implemented interface of the current action, as well as adding validators for any alias of this invocation. Nifty!

      Given the following class structure:

             interface Thing;
             interface Animal extends Thing;
             interface Quadraped extends Animal;
             class AnimalImpl implements Animal;
             class QuadrapedImpl extends AnimalImpl implements Quadraped;
             class Dog extends QuadrapedImpl;

      This method will look for the following config files for Dog:

             Animal
             Animal-context
             AnimalImpl
             AnimalImpl-context
             Quadraped
             Quadraped-context
             QuadrapedImpl
             QuadrapedImpl-context
             Dog
             Dog-context

      Note that the validation rules for Thing is never looked for because no class in the hierarchy directly implements Thing.

      Parameters:
        `clazz` - the Class to look up validators for.
        `context` - the context to use when looking up validators.
        `checkFile` - true if the validation config file should be checked to see if it has been updated.
        `checked` - the set of previously checked class-contexts, null if none have been checked
      Returns:
        a list of validator configs for the given class and context.

    - #### buildAliasValidatorConfigs

          protected List<ValidatorConfig> buildAliasValidatorConfigs(Class aClass,
                                                                     String context,
                                                                     boolean checkFile)

    - #### buildClassValidatorConfigs

          protected List<ValidatorConfig> buildClassValidatorConfigs(Class aClass,
                                                                     boolean checkFile)

    - #### loadFile

          protected List<ValidatorConfig> loadFile(String fileName,
                                                   Class clazz,
                                                   boolean checkFile)

Copyright © 2000–2023 Apache Software Foundation. All rights reserved.