Package org.testng.internal
Class ClassHelper
java.lang.Object
org.testng.internal.ClassHelper
Utility class for different class manipulations.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private static final List<ClassLoader>
The additional class loaders to find classes in.private static int
When given a file name to form a class name, the file name is parsed and divided into segments. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
addClassLoader
(ClassLoader loader) (package private) static List<ClassLoader>
appendContextualClassLoaders
(List<ClassLoader> currentLoaders) private static void
private static boolean
static Class<?>
fileToClass
(String file) Returns the Class object corresponding to the given name.(package private) static Constructor<?>
findAnnotatedConstructor
(IAnnotationFinder finder, Class<?> declaringClass) Find the best constructor given the parameters found on the annotationstatic XmlClass[]
findClassesInSameTest
(Class<?> cls, XmlSuite suite) private static Collection<XmlClass>
findClassesInSameTest
(Class<?> cls, XmlTest xmlTest) static List<ConstructorOrMethod>
findDeclaredFactoryMethods
(Class<?> cls, IAnnotationFinder finder) For the given class, returns the method annotated with @Factory or null if none is found.static Class<?>
Tries to load the specified class using the context ClassLoader or if none, than from the default ClassLoader.getAvailableMethods
(Class<?> clazz) getAvailableMethodsExcludingDefaults
(Class<?> clazz) private static boolean
private static boolean
isSamePackage
(Package childPackage, Package classPackage) private static void
logClassNotFoundError
(String className, Throwable ex) static <T> T
tryOtherConstructor
(Class<T> declaringClass)
-
Field Details
-
classLoaders
The additional class loaders to find classes in. -
CLASS_HELPER
-
lastGoodRootIndex
private static int lastGoodRootIndexWhen given a file name to form a class name, the file name is parsed and divided into segments. For example, "c:/java/classes/com/foo/A.class" would be divided into 6 segments {"C:" "java", "classes", "com", "foo", "A"}. The first segment actually making up the class name is [3]. This value is saved in lastGoodRootIndex so that when we parse the next file name, we will try 3 right away. If 3 fails we will take the long approach. This is just a optimization cache value.
-
-
Constructor Details
-
ClassHelper
private ClassHelper()Hide constructor.
-
-
Method Details
-
addClassLoader
-
appendContextualClassLoaders
-
forName
Tries to load the specified class using the context ClassLoader or if none, than from the default ClassLoader. This method differs from the standard class loading methods in that it does not throw an exception if the class is not found but returns null instead.- Parameters:
className
- the class name to be loaded.- Returns:
- the class or null if the class is not found.
-
logClassNotFoundError
-
findDeclaredFactoryMethods
public static List<ConstructorOrMethod> findDeclaredFactoryMethods(Class<?> cls, IAnnotationFinder finder) For the given class, returns the method annotated with @Factory or null if none is found. This method does not search up the superclass hierarchy. If more than one method is @Factory annotated, a TestNGException is thrown.- Parameters:
cls
- The class to search for the @Factory annotation.finder
- The finder (JDK 1.4 or JDK 5.0+) use to search for the annotation.- Returns:
- the @Factory
methods
-
getAvailableMethodsExcludingDefaults
-
getAvailableMethods
-
appendMethod
-
extractMethods
-
canInclude
-
isSamePackage
-
isOverridden
-
findAnnotatedConstructor
Find the best constructor given the parameters found on the annotation -
tryOtherConstructor
-
fileToClass
Returns the Class object corresponding to the given name. The name may be of the following form:- A class name: "org.testng.TestNG"
- A class file name: "/testng/src/org/testng/TestNG.class"
- A class source name: "d:\testng\src\org\testng\TestNG.java"
- Parameters:
file
- the class name.- Returns:
- the class corresponding to the name specified.
-
findClassesInSameTest
-
findClassesInSameTest
-