Package org.globus.util
Class ClassLoaderUtils
- java.lang.Object
-
- org.globus.util.ClassLoaderUtils
-
public class ClassLoaderUtils extends java.lang.Object
Various classloader utils. Extends the standard ways of loading classes or resources with a fallback mechanism to the thread context classloader.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
ClassLoaderUtils.DummySecurityManager
-
Field Summary
Fields Modifier and Type Field Description private static ClassLoaderUtils.DummySecurityManager
MANAGER
-
Constructor Summary
Constructors Constructor Description ClassLoaderUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Class
forName(java.lang.String name)
Loads a specified class.static java.lang.Class[]
getClassContext()
Returns the current execution stack as an array of classes.static java.lang.Class
getClassContextAt(int i)
Returns a class at specified depth of the current execution stack.static java.lang.ClassLoader
getClassLoaderContextAt(int i)
Returns a classloader at specified depth of the current execution stack.static java.io.InputStream
getResourceAsStream(java.lang.String name)
Gets an InputStream to a resource of a specified name.static java.lang.Class<?>
loadClass(java.lang.String className, java.lang.Class<?> callingClass)
private static java.lang.Class<?>
loadClass2(java.lang.String className, java.lang.Class<?> callingClass)
-
-
-
Field Detail
-
MANAGER
private static ClassLoaderUtils.DummySecurityManager MANAGER
-
-
Method Detail
-
getClassContext
public static java.lang.Class[] getClassContext()
Returns the current execution stack as an array of classes.The length of the array is the number of methods on the execution stack. The element at index
0
is the class of the currently executing method, the element at index1
is the class of that method's caller, and so on.- Returns:
- the execution stack.
-
getClassContextAt
public static java.lang.Class getClassContextAt(int i)
Returns a class at specified depth of the current execution stack.- Returns:
- the class at the specified depth of the current execution stack. Migth return null if depth is out of range.
-
getClassLoaderContextAt
public static java.lang.ClassLoader getClassLoaderContextAt(int i)
Returns a classloader at specified depth of the current execution stack.- Returns:
- the classloader at the specified depth of the current execution stack. Migth return null if depth is out of range.
-
getResourceAsStream
public static java.io.InputStream getResourceAsStream(java.lang.String name)
Gets an InputStream to a resource of a specified name. First, the caller's classloader is used to load the resource and if it fails the thread's context classloader is used to load the resource.
-
forName
public static java.lang.Class forName(java.lang.String name) throws java.lang.ClassNotFoundException
Loads a specified class. First, the caller's classloader is used to load the class and if it fails the thread's context classloader is used to load the specified class.- Throws:
java.lang.ClassNotFoundException
-
loadClass
public static java.lang.Class<?> loadClass(java.lang.String className, java.lang.Class<?> callingClass) throws java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
-
loadClass2
private static java.lang.Class<?> loadClass2(java.lang.String className, java.lang.Class<?> callingClass) throws java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
-
-