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