Package 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
Modifier and Type
Field
Description
`static final String`
`IGNORE_TCL_PROPERTY_NAME`

## Constructor Summary

Constructors
Constructor
Description
`Loader()`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### IGNORE_TCL_PROPERTY_NAME

public static final String IGNORE_TCL_PROPERTY_NAME

See Also:
  - Constant Field Values

## Constructor Details

### Loader

public Loader()

## Method Details

### 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`