package org.testng; import java.io.Serializable; import java.util.List; /** * This interface is used to augment or replace TestNG's algorithm to * decide whether a test method should be included in a test run. * * Created on Sep 26, 2005 * @author cbeust */ public interface IMethodSelector extends Serializable { /** * @param context The selector context. The implementation of this method * can invoke setHalted(true) to indicate that no other Method Selector * should be invoked by TestNG after this one. Additionally, this * implementation can manipulate the Map object returned by * getUserData(). * @param method The test method * @param isTestMethod true if this is a @Test method, false if it's a * configuration method * @return true if this method should be included in the test run, false * otherwise */ public boolean includeMethod(IMethodSelectorContext context, ITestNGMethod method, boolean isTestMethod); /** * Invoked when all the test methods are known so that the method selector * can perform additional work, such as adding the transitive closure of * all the groups being included and depended upon. */ public void setTestMethods(List<ITestNGMethod> testMethods); }