1b4de970393343f6d07e9aa94dabbaa6d44148010Cédric Beustpackage org.testng;
233298c4fcb78db416f32ccb78be276a7c1b15e89Cédric Beust
32d568355761a9632bf24a87984e241f8a079d724Cédric Beustimport org.testng.annotations.ITestAnnotation;
42ddb1c7499f506b5be37820f50ed91f635482591Cédric Beust
57be7fd8547d302ebdf5853070a26c06a586baa3bCédric Beustimport java.lang.reflect.Constructor;
67be7fd8547d302ebdf5853070a26c06a586baa3bCédric Beustimport java.lang.reflect.Method;
733298c4fcb78db416f32ccb78be276a7c1b15e89Cédric Beust
82ddb1c7499f506b5be37820f50ed91f635482591Cédric Beustpublic interface IAnnotationTransformer extends ITestNGListener {
933298c4fcb78db416f32ccb78be276a7c1b15e89Cédric Beust
109f260a90db357ece3fb67e574b48009748357ff0Cédric Beust  /**
119f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * This method will be invoked by TestNG to give you a chance
129f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * to modify a TestNG annotation read from your test classes.
139f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * You can change the values you need by calling any of the
149f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * setters on the ITest interface.
150f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin   *
169f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * Note that only one of the three parameters testClass,
179f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * testConstructor and testMethod will be non-null.
180f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin   *
199f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * @param annotation The annotation that was read from your
209f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * test class.
219f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * @param testClass If the annotation was found on a class, this
229f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * parameter represents this class (null otherwise).
239f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * @param testConstructor If the annotation was found on a constructor,
249f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * this parameter represents this constructor (null otherwise).
259f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * @param testMethod If the annotation was found on a method,
269f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   * this parameter represents this method (null otherwise).
279f260a90db357ece3fb67e574b48009748357ff0Cédric Beust   */
282d568355761a9632bf24a87984e241f8a079d724Cédric Beust  public void transform(ITestAnnotation annotation, Class testClass,
297be7fd8547d302ebdf5853070a26c06a586baa3bCédric Beust      Constructor testConstructor, Method testMethod);
300f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
3133298c4fcb78db416f32ccb78be276a7c1b15e89Cédric Beust}
32