Package org.apache.commons.jelly.util
Class ClassLoaderUtils
- java.lang.Object
-
- org.apache.commons.jelly.util.ClassLoaderUtils
-
public class ClassLoaderUtils extends Object
A class to centralize the class loader management code.
-
-
Constructor Summary
Constructors Constructor Description ClassLoaderUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ClassLoader
getClassLoader(Class clazz)
Get the loader for the given class.static ClassLoader
getClassLoader(ClassLoader specifiedLoader, boolean useContextClassLoader, Class callingClass)
Return the class loader to be used for instantiating application objects when required.static ClassLoader
getClassLoader(ClassLoader specifiedLoader, Class callingClass)
Return the class loader to be used for instantiating application objects when a context class loader is not specified.static Class
loadClass(String className, Class callingClass)
Loads the given class using the current Thread's context class loader first otherwise use the class loader which loaded this class.static Class
loadClass(String className, ClassLoader specifiedLoader, boolean useContextLoader, Class callingClass)
Loads the given class using: the specified classloader, the current Thread's context class loader first, if asked otherwise use the class loader which loaded this class.
-
-
-
Method Detail
-
getClassLoader
public static ClassLoader getClassLoader(ClassLoader specifiedLoader, boolean useContextClassLoader, Class callingClass)
Return the class loader to be used for instantiating application objects when required. This is determined based upon the following rules:- The specified class loader, if any
- The thread context class loader, if it exists and
useContextClassLoader
is true - The class loader used to load the calling class.
- The System class loader.
-
getClassLoader
public static ClassLoader getClassLoader(ClassLoader specifiedLoader, Class callingClass)
Return the class loader to be used for instantiating application objects when a context class loader is not specified. This is determined based upon the following rules:- The specified class loader, if any
- The class loader used to load the calling class.
- The System class loader.
-
getClassLoader
public static ClassLoader getClassLoader(Class clazz)
Get the loader for the given class.- Parameters:
clazz
- the class to retrieve the loader for- Returns:
- the class loader that loaded the provided class
-
loadClass
public static Class loadClass(String className, Class callingClass) throws ClassNotFoundException
Loads the given class using the current Thread's context class loader first otherwise use the class loader which loaded this class.- Throws:
ClassNotFoundException
-
loadClass
public static Class loadClass(String className, ClassLoader specifiedLoader, boolean useContextLoader, Class callingClass) throws ClassNotFoundException
Loads the given class using:- the specified classloader,
- the current Thread's context class loader first, if asked
- otherwise use the class loader which loaded this class.
- Throws:
ClassNotFoundException
-
-