package org.apache.struts2.oval.interceptor;
import net.sf.oval.configuration.xml.XMLConfigurer;
import net.sf.oval.configuration.Configurer;
import java.util.List;
public interface OValValidationManager {
/**
* <p>This method 'collects' all the validator configurations for a given
* action invocation.</p>
* <p/>
* <p>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!</p>
* <p/>
* <p>Given the following class structure:
* <pre>
* interface Thing;
* interface Animal extends Thing;
* interface Quadraped extends Animal;
* class AnimalImpl implements Animal;
* class QuadrapedImpl extends AnimalImpl implements Quadraped;
* class Dog extends QuadrapedImpl;
* </pre></p>
* <p/>
* <p>This method will look for the following config files for Dog:
* <pre>
* Animal
* Animal-context
* AnimalImpl
* AnimalImpl-context
* Quadraped
* Quadraped-context
* QuadrapedImpl
* QuadrapedImpl-context
* Dog
* Dog-context
* </pre></p>
* <p/>
* <p>Note that the validation rules for Thing is never looked for because no class in the
* hierarchy directly implements Thing.</p>
*
* @param clazz the Class to look up validators for.
* @param context the context to use when looking up validators.
* updated.
* @return a list of xml configurers for the given class and context.
*/
List<Configurer> getConfigurers(Class clazz, String context, boolean validateJPAAnnotations);
}