Package org.apache.axis.utils
Class ClassUtils
- java.lang.Object
-
- org.apache.axis.utils.ClassUtils
-
public final class ClassUtils extends java.lang.ObjectUtility methods for Class Loading.- Author:
- Davanum Srinvas (dims@yahoo.com), Matthew Pocock (matthew_pocock@yahoo.co.uk)
-
-
Constructor Summary
Constructors Constructor Description ClassUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.ClassLoadercreateClassLoader(java.lang.String classpath, java.lang.ClassLoader parent)Creates a new ClassLoader from a classpath specification and a parent class loader.static java.lang.ClassforName(java.lang.String className)Use this method instead of Class.forNamestatic java.lang.ClassforName(java.lang.String _className, boolean init, java.lang.ClassLoader _loader)Use this method instead of Class.forName (String className, boolean init, ClassLoader loader)static java.lang.ClassLoadergetClassLoader(java.lang.String className)Obtain the ClassLoader (if any) associated with the given className.static java.lang.ClassLoadergetDefaultClassLoader()static java.io.InputStreamgetResourceAsStream(java.lang.Class clazz, java.lang.String resource)Get an input stream from a named resource.static java.io.InputStreamgetResourceAsStream(java.lang.Class clazz, java.lang.String resource, boolean checkThreadContextFirst)Get an input stream from a named resource.static voidremoveClassLoader(java.lang.String className)Deregister the ClassLoader for a given className.static voidsetClassLoader(java.lang.String className, java.lang.ClassLoader loader)Set the ClassLoader associated with the given className.static voidsetDefaultClassLoader(java.lang.ClassLoader loader)Set the default ClassLoader.
-
-
-
Method Detail
-
setDefaultClassLoader
public static void setDefaultClassLoader(java.lang.ClassLoader loader)
Set the default ClassLoader. If loader is null, the default loader is not changed.- Parameters:
loader- the new default ClassLoader
-
getDefaultClassLoader
public static java.lang.ClassLoader getDefaultClassLoader()
-
setClassLoader
public static void setClassLoader(java.lang.String className, java.lang.ClassLoader loader)Set the ClassLoader associated with the given className. If either the class name or the loader are null, no action is performed.- Parameters:
className- the name of a classloader- the ClassLoader for the class
-
getClassLoader
public static java.lang.ClassLoader getClassLoader(java.lang.String className)
Obtain the ClassLoader (if any) associated with the given className.- Parameters:
className- the name of a class- Returns:
- class loader
-
removeClassLoader
public static void removeClassLoader(java.lang.String className)
Deregister the ClassLoader for a given className.- Parameters:
className- the name of a class
-
forName
public static java.lang.Class forName(java.lang.String className) throws java.lang.ClassNotFoundExceptionUse this method instead of Class.forName- Parameters:
className- Class name- Returns:
- java class
- Throws:
java.lang.ClassNotFoundException- if the class is not found
-
forName
public static java.lang.Class forName(java.lang.String _className, boolean init, java.lang.ClassLoader _loader) throws java.lang.ClassNotFoundExceptionUse this method instead of Class.forName (String className, boolean init, ClassLoader loader)- Parameters:
_className- Class nameinit- initialize the class_loader- class loader- Returns:
- java class
- Throws:
java.lang.ClassNotFoundException- if the class is not found
-
getResourceAsStream
public static java.io.InputStream getResourceAsStream(java.lang.Class clazz, java.lang.String resource, boolean checkThreadContextFirst)Get an input stream from a named resource. Tries- the classloader that loaded "clazz" first,
- the system classloader
- the class "clazz" itself
- Parameters:
clazz- class to use in the lookupsresource- resource string to look forcheckThreadContextFirst- check the thread context first?- Returns:
- input stream if found, or null
-
getResourceAsStream
public static java.io.InputStream getResourceAsStream(java.lang.Class clazz, java.lang.String resource)Get an input stream from a named resource. Tries- the classloader that loaded "clazz" first,
- the system classloader
- the class "clazz" itself
- Parameters:
clazz- class to use in the lookupsresource- resource string to look for- Returns:
- input stream if found, or null
-
createClassLoader
public static java.lang.ClassLoader createClassLoader(java.lang.String classpath, java.lang.ClassLoader parent) throws java.lang.SecurityExceptionCreates a new ClassLoader from a classpath specification and a parent class loader. The classpath string will be split using the system path seperator character (e.g. : or ;), just as the java system-wide class path is processed.- Parameters:
classpath- the classpath Stringparent- the parent ClassLoader, or null if the default is to be used- Throws:
java.lang.SecurityException- if you don't have privilages to create class loadersjava.lang.IllegalArgumentException- if your classpath string is silly
-
-