Class ClassLoaderUtils


  • public class ClassLoaderUtils
    extends Object
    A class to centralize the class loader management code.
    • Constructor Detail

      • ClassLoaderUtils

        public ClassLoaderUtils()
    • 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,
                                      ClassLoader specifiedLoader,
                                      boolean useContextLoader,
                                      Class callingClass)
                               throws ClassNotFoundException
        Loads the given class using:
        1. the specified classloader,
        2. the current Thread's context class loader first, if asked
        3. otherwise use the class loader which loaded this class.
        Throws:
        ClassNotFoundException