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
Testing framework for Java
package org.testng.internal.annotations;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import org.testng.ITestNGMethod;
import org.testng.annotations.IAnnotation;
/**
* 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.
*/
public A findAnnotation(Method m, Class annotationClass);
A findAnnotation(ITestNGMethod m, 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);
}