All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.testng.IAnnotationTransformer Maven / Gradle / Ivy

The newest version!
package org.testng;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import org.testng.annotations.IConfigurationAnnotation;
import org.testng.annotations.IDataProviderAnnotation;
import org.testng.annotations.IFactoryAnnotation;
import org.testng.annotations.IListenersAnnotation;
import org.testng.annotations.ITestAnnotation;

public interface IAnnotationTransformer extends ITestNGListener {

  /**
   * This method will be invoked by TestNG to give you a chance to modify a TestNG annotation read
   * from your test classes. You can change the values you need by calling any of the setters on the
   * ITest interface.
   *
   * 

Note that only one of the three parameters testClass, testConstructor and testMethod will be * non-null. * * @param annotation The annotation that was read from your test class. * @param testClass If the annotation was found on a class, this parameter represents this class * (null otherwise). * @param testConstructor If the annotation was found on a constructor, this parameter represents * this constructor (null otherwise). * @param testMethod If the annotation was found on a method, this parameter represents this * method (null otherwise). */ default void transform( ITestAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod) { // not implemented } /** * Transform an IConfiguration annotation. * *

Note that only one of the three parameters testClass, testConstructor and testMethod will be * non-null. * * @param annotation The annotation that was read from your test class. * @param testClass If the annotation was found on a class, this parameter represents this class * (null otherwise). * @param testConstructor If the annotation was found on a constructor, this parameter represents * this constructor (null otherwise). * @param testMethod If the annotation was found on a method, this parameter represents this * method (null otherwise). */ default void transform( IConfigurationAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod) { // not implemented } /** * Transform an IDataProvider annotation. * * @param annotation The @DataProvider annotation * @param method The method annotated with the IDataProvider annotation. */ default void transform(IDataProviderAnnotation annotation, Method method) { // not implemented } /** * Transform an IFactory annotation. * * @param annotation The annotation factory * @param method The method annotated with the IFactory annotation. */ default void transform(IFactoryAnnotation annotation, Method method) { // not implemented } default void transform(IListenersAnnotation annotation, Class testClass) { // not implemented } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy