Class ClassUtils

java.lang.Object
org.apache.axis.utils.ClassUtils

public final class ClassUtils extends Object
Utility methods for Class Loading.
Author:
Davanum Srinvas (dims@yahoo.com), Matthew Pocock (matthew_pocock@yahoo.co.uk)
  • Constructor Details

    • ClassUtils

      public ClassUtils()
  • Method Details

    • setDefaultClassLoader

      public static void setDefaultClassLoader(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 ClassLoader getDefaultClassLoader()
    • setClassLoader

      public static void setClassLoader(String className, 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 class
      loader - the ClassLoader for the class
    • getClassLoader

      public static ClassLoader getClassLoader(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(String className)
      Deregister the ClassLoader for a given className.
      Parameters:
      className - the name of a class
    • forName

      public static Class forName(String className) throws ClassNotFoundException
      Use this method instead of Class.forName
      Parameters:
      className - Class name
      Returns:
      java class
      Throws:
      ClassNotFoundException - if the class is not found
    • forName

      public static Class forName(String _className, boolean init, ClassLoader _loader) throws ClassNotFoundException
      Use this method instead of Class.forName (String className, boolean init, ClassLoader loader)
      Parameters:
      _className - Class name
      init - initialize the class
      _loader - class loader
      Returns:
      java class
      Throws:
      ClassNotFoundException - if the class is not found
    • getResourceAsStream

      public static InputStream getResourceAsStream(Class clazz, String resource, boolean checkThreadContextFirst)
      Get an input stream from a named resource. Tries
      1. the classloader that loaded "clazz" first,
      2. the system classloader
      3. the class "clazz" itself
      Parameters:
      clazz - class to use in the lookups
      resource - resource string to look for
      checkThreadContextFirst - check the thread context first?
      Returns:
      input stream if found, or null
    • getResourceAsStream

      public static InputStream getResourceAsStream(Class clazz, String resource)
      Get an input stream from a named resource. Tries
      1. the classloader that loaded "clazz" first,
      2. the system classloader
      3. the class "clazz" itself
      Parameters:
      clazz - class to use in the lookups
      resource - resource string to look for
      Returns:
      input stream if found, or null
    • createClassLoader

      public static ClassLoader createClassLoader(String classpath, ClassLoader parent) throws SecurityException
      Creates 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 String
      parent - the parent ClassLoader, or null if the default is to be used
      Throws:
      SecurityException - if you don't have privilages to create class loaders
      IllegalArgumentException - if your classpath string is silly