View Javadoc

1   package org.apache.struts2.oval.interceptor;
2   
3   import net.sf.oval.configuration.xml.XMLConfigurer;
4   import net.sf.oval.configuration.Configurer;
5   
6   import java.util.List;
7   
8   
9   public interface OValValidationManager {
10      /***
11       * <p>This method 'collects' all the validator configurations for a given
12       * action invocation.</p>
13       * <p/>
14       * <p>It will traverse up the class hierarchy looking for validators for every super class
15       * and directly implemented interface of the current action, as well as adding validators for
16       * any alias of this invocation. Nifty!</p>
17       * <p/>
18       * <p>Given the following class structure:
19       * <pre>
20       *   interface Thing;
21       *   interface Animal extends Thing;
22       *   interface Quadraped extends Animal;
23       *   class AnimalImpl implements Animal;
24       *   class QuadrapedImpl extends AnimalImpl implements Quadraped;
25       *   class Dog extends QuadrapedImpl;
26       * </pre></p>
27       * <p/>
28       * <p>This method will look for the following config files for Dog:
29       * <pre>
30       *   Animal
31       *   Animal-context
32       *   AnimalImpl
33       *   AnimalImpl-context
34       *   Quadraped
35       *   Quadraped-context
36       *   QuadrapedImpl
37       *   QuadrapedImpl-context
38       *   Dog
39       *   Dog-context
40       * </pre></p>
41       * <p/>
42       * <p>Note that the validation rules for Thing is never looked for because no class in the
43       * hierarchy directly implements Thing.</p>
44       *
45       * @param clazz     the Class to look up validators for.
46       * @param context   the context to use when looking up validators.
47       *                  updated.
48       * @return a list of xml configurers for the given class and context.
49       */
50      List<Configurer> getConfigurers(Class clazz, String context, boolean validateJPAAnnotations);
51  }