org.testng.internal.annotations.IAnnotationFinder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of testng Show documentation
Show all versions of testng Show documentation
A testing framework for the JVM
package org.testng.internal.annotations;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import org.testng.ITestNGMethod;
import org.testng.annotations.IAnnotation;
import org.testng.internal.ConstructorOrMethod;
/**
* This interface defines how annotations are found on classes, methods
* and constructors. It will be implemented by both JDK 1.4 and JDK 5
* annotation finders.
*
* @author Cedric Beust
*/
public interface IAnnotationFinder {
/**
* @param cls
* @param annotationClass
* @return The annotation on the class or null if none found.
*/
public A findAnnotation(Class cls, Class annotationClass);
/**
* @param m
* @param annotationClass
* @return The annotation on the method.
* If not found, return the annotation on the declaring class.
* If not found, return null.
*/
A findAnnotation(Method m, Class annotationClass);
A findAnnotation(ITestNGMethod m, Class annotationClass);
A findAnnotation(ConstructorOrMethod com, Class annotationClass);
/**
* @param cons
* @param annotationClass
* @return The annotation on the method.
* If not found, return the annotation on the declaring class.
* If not found, return null.
*/
public A findAnnotation(Constructor cons, Class annotationClass);
/**
* @return true if the ith parameter of the given method has the annotation @TestInstance.
*/
public boolean hasTestInstance(Method method, int i);
/**
* @return the @Optional values of this method's parameters (null
* if the parameter isn't optional)
*/
public String[] findOptionalValues(Method method);
/**
* @return the @Optional values of this method's parameters (null
* if the parameter isn't optional)
*/
public String[] findOptionalValues(Constructor ctor);
}