public class

ChainingClassLoader

extends ClassLoader
java.lang.Object
   ↳ java.lang.ClassLoader
     ↳ com.atlassian.plugin.util.ChainingClassLoader

Class Overview

A class loader that delegates to a list of class loaders. The order is important as classes and resources will be loaded from the first classloader that can load them. This class is optimized for a small number of classloaders.

Summary

Public Constructors
ChainingClassLoader(ClassLoader... classLoaders)
Constructs a chaining classloader
ChainingClassLoader(Map<StringString> resourceRedirects, ClassLoader... classLoaders)
Constructs a classloader that overrides certain resources
Public Methods
synchronized void clearAssertionStatus()
URL getResource(String name)
InputStream getResourceAsStream(String name)
Enumeration<URL> getResources(String name)
Class loadClass(String name)
synchronized void setClassAssertionStatus(String className, boolean enabled)
synchronized void setDefaultAssertionStatus(boolean enabled)
synchronized void setPackageAssertionStatus(String packageName, boolean enabled)
[Expand]
Inherited Methods
From class java.lang.ClassLoader
From class java.lang.Object

Public Constructors

public ChainingClassLoader (ClassLoader... classLoaders)

Constructs a chaining classloader

Parameters
classLoaders The classloaders to delegate to, in order

public ChainingClassLoader (Map<StringString> resourceRedirects, ClassLoader... classLoaders)

Constructs a classloader that overrides certain resources

Parameters
resourceRedirects The map of resources to redirect
classLoaders The classloaders to delegate to, in order

Public Methods

public synchronized void clearAssertionStatus ()

public URL getResource (String name)

public InputStream getResourceAsStream (String name)

public Enumeration<URL> getResources (String name)

Throws
IOException

public Class loadClass (String name)

public synchronized void setClassAssertionStatus (String className, boolean enabled)

public synchronized void setDefaultAssertionStatus (boolean enabled)

public synchronized void setPackageAssertionStatus (String packageName, boolean enabled)