org.junit.internal.Classes Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of junit Show documentation
Show all versions of junit Show documentation
JUnit is a unit testing framework for Java, created by Erich Gamma and Kent Beck.
package org.junit.internal;
import static java.lang.Thread.currentThread;
/**
* Miscellaneous functions dealing with classes.
*/
public class Classes {
/**
* Do not instantiate.
* @deprecated will be private soon.
*/
@Deprecated
public Classes() {
}
/**
* Returns Class.forName for {@code className} using the current thread's class loader.
* If the current thread does not have a class loader, falls back to the class loader for
* {@link Classes}.
*
* @param className Name of the class.
* @throws ClassNotFoundException
*/
public static Class getClass(String className) throws ClassNotFoundException {
return getClass(className, Classes.class);
}
/**
* Returns Class.forName for {@code className} using the current thread's class loader.
* If the current thread does not have a class loader, falls back to the class loader for the
* passed-in class.
*
* @param className Name of the class.
* @param callingClass Class that is requesting a the class
* @throws ClassNotFoundException
* @since 4.13
*/
public static Class getClass(String className, Class callingClass) throws ClassNotFoundException {
ClassLoader classLoader = currentThread().getContextClassLoader();
return Class.forName(className, true, classLoader == null ? callingClass.getClassLoader() : classLoader);
}
}