ch.qos.logback.core.util

## Class Loader

- java.lang.Object
- - 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

Fields
`static java.lang.String` `IGNORE_TCL_PROPERTY_NAME`

### Constructor Summary

Constructors
Constructor and Description
`Loader()`

### Method Summary

Methods
`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.Set<java.net.URL>` `getResourceOccurrenceCount(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

#### getResourceOccurrenceCount

    public static java.util.Set<java.net.URL> getResourceOccurrenceCount(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`