package org.testng; import org.testng.xml.XmlClass; import org.testng.xml.XmlTest; import java.io.Serializable; /** * <code>IClass</code> represents a test class and a collection of its instances. * * @author <a href = "mailto:cedric@beust.com">Cedric Beust</a> */ public interface IClass extends Serializable { /** * @return this test class name. This is the name of the * corresponding Java class. */ String getName(); /** * @return the <test> tag this class was found in. */ XmlTest getXmlTest(); /** * @return the *lt;class> tag this class was found in. */ XmlClass getXmlClass(); /** * If this class implements org.testng.ITest, returns its test name, otherwise returns null. */ String getTestName(); /** * @return the Java class corresponding to this IClass. */ Class<?> getRealClass(); /** * Returns all the instances the methods will be invoked upon. * This will typically be an array of one object in the absence * of a @Factory annotation. * * @param create flag if a new set of instances must be returned * (if set to <tt>false</tt>) * @return All the instances the methods will be invoked upon. */ Object[] getInstances(boolean create); /** * @deprecated Not used * * @return The number of instances used in this class. This method * is needed for serialization since we don't know ahead of time if the * instances of the test classes will be serializable. */ @Deprecated int getInstanceCount(); long[] getInstanceHashCodes(); void addInstance(Object instance); }