ch.qos.logback.core.util

## Class Loader

- java.lang.Object
- - ch.qos.logback.core.util.Loader

    public class Loader
    extends Object

Load resources (or images) from various sources.

Author:
  Ceki Gülcü

### Field Summary

Fields
`static String` `IGNORE_TCL_PROPERTY_NAME`

### Constructor Summary

Constructors
Constructor and Description
`Loader()`

### Method Summary

All Methods Static Methods Concrete Methods
`static ClassLoader` `getClassLoaderAsPrivileged(Class<?> clazz)` Returns the class loader of clazz in an access privileged section.
`static ClassLoader` `getClassLoaderOfClass(Class<?> clazz)` Return the class loader which loaded the class passed as argument.
`static ClassLoader` `getClassLoaderOfObject(Object o)` Get the class loader of the object passed as argument.
`static URL` `getResource(String resource, ClassLoader classLoader)` Search for a resource using the classloader passed as parameter.
`static URL` `getResourceBySelfClassLoader(String resource)` Attempt to find a resource by using the classloader that loaded this class, namely Loader.class.
`static Set<URL>` `getResources(String resource, ClassLoader classLoader)` Compute the number of occurrences a resource can be found by a class loader.
`static ClassLoader` `getTCL()` Get the Thread Context Loader which is a JDK 1.2 feature.
`static Class<?>` `loadClass(String clazz)` If running under JDK 1.2 load the specified class using the `Thread` `contextClassLoader` if that fails try Class.forname.
`static Class<?>` `loadClass(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 String IGNORE_TCL_PROPERTY_NAME

See Also:
  Constant Field Values

### Constructor Detail

#### Loader

    public Loader()

### Method Detail

#### getResources

    public static Set<URL> getResources(String resource,
                                        ClassLoader classLoader)
                                 throws IOException

Compute the number of occurrences a resource can be found by a class loader.

Parameters:
  `resource` -
  `classLoader` -
Returns:
Throws:
  `IOException`

#### getResource

    public static URL getResource(String resource,
                                  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 URL getResourceBySelfClassLoader(String resource)

Attempt to find a resource by using the classloader that loaded this class, namely Loader.class.

Parameters:
  `resource` -
Returns:

#### getTCL

    public static 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 Class<?> loadClass(String clazz,
                                     Context context)
                              throws ClassNotFoundException

Throws:
  `ClassNotFoundException`

#### getClassLoaderOfObject

    public static ClassLoader getClassLoaderOfObject(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 ClassLoader getClassLoaderAsPrivileged(Class<?> clazz)

Returns the class loader of clazz in an access privileged section.

Parameters:
  `clazz` -
Returns:

#### getClassLoaderOfClass

    public static ClassLoader getClassLoaderOfClass(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 Class<?> loadClass(String clazz)
                              throws 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:
  `ClassNotFoundException`