Class Loader


  • public class Loader
    extends java.lang.Object
    Load resources (or images) from various sources.
    Author:
    Ceki Gülcü
    • Constructor Summary

      Constructors 
      Constructor Description
      Loader()  
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static java.net.URL getResource​(java.lang.String resource)
      This method will search for resource in different places.
      static java.net.URL getResource​(java.lang.String resource, java.lang.Class clazz)
      Deprecated.
      as of 1.2.
      static boolean isJava1()
      Deprecated.
      with no replacement
      static java.lang.Class loadClass​(java.lang.String clazz)
      Load the specified class using the method.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Loader

        public Loader()
    • Method Detail

      • getResource

        public static java.net.URL getResource​(java.lang.String resource,
                                               java.lang.Class clazz)
        Deprecated.
        as of 1.2.
        Get a resource by delegating to getResource(String).
        Parameters:
        resource - resource name
        clazz - class, ignored.
        Returns:
        URL to resource or null.
      • getResource

        public static java.net.URL getResource​(java.lang.String resource)
        This method will search for resource in different places. The search order is as follows:
        1. Search for resource using the thread context class loader, unless "log4j.ignoreTCL" system property was set to true.

        2. Search for resource using the class loader that loaded this class (Loader).

        3. Try one last time with ClassLoader.getSystemResource(resource), that is is using the system class loader.

        Nota bene: In versions of reload4j 1.2.23 and earlier, the jaadoc documentation stated that the thread context class loader was used but when running under JDK 9 and later this was not actually the case. As of version 1.2.25, the javadoc corresponds to the original intention as documented.

        Parameters:
        resource - the resource to load
      • isJava1

        @Deprecated
        public static boolean isJava1()
        Deprecated.
        with no replacement
        Are we running under JDK 1.x?
      • loadClass

        public static java.lang.Class loadClass​(java.lang.String clazz)
                                         throws java.lang.ClassNotFoundException
        Load the specified class using the method.

        Nota bene: In versions of reload4j 1.2.23 and earlier, the documentation stated that the thread context class loader was used to load the specified class but when running under JDK 9 and later this was not actually the case. As of version 1.2.24, the javadoc above matches the code as executed.

        Parameters:
        clazz - the name of class to load
        Throws:
        java.lang.ClassNotFoundException