ch.qos.logback.core.util
Class Loader

java.lang.Object
  extended by ch.qos.logback.core.util.Loader

public class Loader
extends java.lang.Object

Load resources (or images) from various sources.

Author:
Ceki Gülcü

Field Summary
static java.lang.String IGNORE_TCL_PROPERTY_NAME
           
 
Constructor Summary
Loader()
           
 
Method Summary
static java.lang.ClassLoader getClassLoaderAsPrivileged(java.lang.Class clazz)
          Returns the class loader of clazz in an access privileged section.
static java.lang.ClassLoader getClassLoaderOfClass(java.lang.Class clazz)
          Return the class loader which loaded the class passed as argument.
static java.lang.ClassLoader getClassLoaderOfObject(java.lang.Object o)
          Get the class loader of the object passed as argument.
static java.net.URL getResource(java.lang.String resource, java.lang.ClassLoader classLoader)
          Search for a resource using the classloader passed as parameter.
static java.net.URL getResourceBySelfClassLoader(java.lang.String resource)
          Attempt to find a resource by using the classloader that loaded this class, namely Loader.class.
static java.util.List<java.net.URL> getResourceOccurenceCount(java.lang.String resource, java.lang.ClassLoader classLoader)
          Compute the number of occurrences a resource can be found by a class loader.
static java.lang.ClassLoader getTCL()
          Get the Thread Context Loader which is a JDK 1.2 feature.
static java.lang.Class loadClass(java.lang.String clazz)
          If running under JDK 1.2 load the specified class using the Thread contextClassLoader if that fails try Class.forname.
static java.lang.Class loadClass(java.lang.String clazz, Context context)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

IGNORE_TCL_PROPERTY_NAME

public static final java.lang.String IGNORE_TCL_PROPERTY_NAME
See Also:
Constant Field Values
Constructor Detail

Loader

public Loader()
Method Detail

getResourceOccurenceCount

public static java.util.List<java.net.URL> getResourceOccurenceCount(java.lang.String resource,
                                                                     java.lang.ClassLoader classLoader)
                                                              throws java.io.IOException
Compute the number of occurrences a resource can be found by a class loader.

Parameters:
resource -
classLoader -
Returns:
Throws:
java.io.IOException

getResource

public static java.net.URL getResource(java.lang.String resource,
                                       java.lang.ClassLoader classLoader)
Search for a resource using the classloader passed as parameter.

Parameters:
resource - the resource name to look for
classLoader - the classloader used for the search

getResourceBySelfClassLoader

public static java.net.URL getResourceBySelfClassLoader(java.lang.String resource)
Attempt to find a resource by using the classloader that loaded this class, namely Loader.class.

Parameters:
resource -
Returns:

getTCL

public static java.lang.ClassLoader getTCL()
Get the Thread Context Loader which is a JDK 1.2 feature. If we are running under JDK 1.1 or anything else goes wrong the method returns null.


loadClass

public static java.lang.Class loadClass(java.lang.String clazz,
                                        Context context)
                                 throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

getClassLoaderOfObject

public static java.lang.ClassLoader getClassLoaderOfObject(java.lang.Object o)
Get the class loader of the object passed as argument. Return the system class loader if appropriate.

Parameters:
o -
Returns:

getClassLoaderAsPrivileged

public static java.lang.ClassLoader getClassLoaderAsPrivileged(java.lang.Class clazz)
Returns the class loader of clazz in an access privileged section.

Parameters:
clazz -
Returns:

getClassLoaderOfClass

public static java.lang.ClassLoader getClassLoaderOfClass(java.lang.Class clazz)
Return the class loader which loaded the class passed as argument. Return the system class loader if appropriate.

Parameters:
clazz -
Returns:

loadClass

public static java.lang.Class loadClass(java.lang.String clazz)
                                 throws java.lang.ClassNotFoundException
If running under JDK 1.2 load the specified class using the Thread contextClassLoader if that fails try Class.forname. Under JDK 1.1 only Class.forName is used.

Throws:
java.lang.ClassNotFoundException