Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.lib.util
Class MultiClassLoader

    java.lang.Object
      java.lang.ClassLoader
          org.apache.openjpa.lib.util.MultiClassLoader

    public class MultiClassLoader

extends ClassLoader

Class loader type that can be configured to delegate to multiple internal class loaders. The `THREAD_LOADER` constant is a marker that will be replaced with the context loader of the current thread.

Author:
  Abe White

Field Summary
`static ClassLoader` | `SYSTEM_LOADER` The standard system class loader.
`static ClassLoader` | `THREAD_LOADER` Marker that will be replaced with the context loader of the current thread whenever it is discovered in the class loader list.

Constructor Summary
`MultiClassLoader()` Constructor; initializes the loader with an empty list of delegates.
`MultiClassLoader(MultiClassLoader other)` Construct with the class loaders of another multi loader.

Method Summary
`boolean` | `addClassLoader(ClassLoader loader)` Add the given class loader to the set of loaders that will be tried.
`boolean` | `addClassLoader(int index, ClassLoader loader)` Add the given class loader at the specified index.
`boolean` | `addClassLoaders(int index, MultiClassLoader multi)` Adds all class loaders from the given multi loader starting at the given index.
`boolean` | `addClassLoaders(MultiClassLoader multi)` Adds all the class loaders from the given multi loader.
`void` | `clear()` Clear the list of class loaders.
`boolean` | `containsClassLoader(ClassLoader loader)` Returns true if the list contains the given class loader or marker.
`boolean` | `equals(Object other)`
`protected Class<?>` | `findClass(String name)`
`protected URL` | `findResource(String name)`
`protected Enumeration<URL>` | `findResources(String name)`
`ClassLoader` | `getClassLoader(int index)` Return the class loader at the given index.
`ClassLoader[]` | `getClassLoaders()` Return an array of all contained class loaders.
`int` | `hashCode()`
`boolean` | `isEmpty()` Return true if there are no internal class laoders.
`boolean` | `removeClassLoader(ClassLoader loader)` Remove the given loader from the list.
`void` | `setClassLoaders(MultiClassLoader multi)` Set the class loaders of this loader to those of the given loader.
`int` | `size()` Return the number of internal class loaders.

Methods inherited from class java.lang.ClassLoader
`clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### THREAD_LOADER

    public static final ClassLoader THREAD_LOADER

  Marker that will be replaced with the context loader of the current thread whenever it is discovered in the class loader list.

### SYSTEM_LOADER

    public static final ClassLoader SYSTEM_LOADER

  The standard system class loader.

Constructor Detail

### MultiClassLoader

    public MultiClassLoader()

  Constructor; initializes the loader with an empty list of delegates.

### MultiClassLoader

    public MultiClassLoader(MultiClassLoader other)

  Construct with the class loaders of another multi loader.

Method Detail

### containsClassLoader

    public boolean containsClassLoader(ClassLoader loader)

  Returns true if the list contains the given class loader or marker.

### getClassLoaders

    public ClassLoader[] getClassLoaders()

  Return an array of all contained class loaders.

### getClassLoader

    public ClassLoader getClassLoader(int index)

  Return the class loader at the given index.

### addClassLoader

    public boolean addClassLoader(ClassLoader loader)

  Add the given class loader to the set of loaders that will be tried.

  Returns:
    true if the loader was added, false if already in the list

### addClassLoader

    public boolean addClassLoader(int index,
                                  ClassLoader loader)

  Add the given class loader at the specified index.

  Returns:
    true if the loader was added, false if already in the list

### setClassLoaders

    public void setClassLoaders(MultiClassLoader multi)

  Set the class loaders of this loader to those of the given loader.

### addClassLoaders

    public boolean addClassLoaders(int index,
                                   MultiClassLoader multi)

  Adds all class loaders from the given multi loader starting at the given index.

  Returns:
    true if any loaders were added, false if all already in list

### addClassLoaders

    public boolean addClassLoaders(MultiClassLoader multi)

  Adds all the class loaders from the given multi loader.

  Returns:
    true if any loaders were added, false if all already in list

### removeClassLoader

    public boolean removeClassLoader(ClassLoader loader)

  Remove the given loader from the list.

  Returns:
    true if removed, false if not in list

### clear

    public void clear()

  Clear the list of class loaders.

### size

    public int size()

  Return the number of internal class loaders.

### isEmpty

    public boolean isEmpty()

  Return true if there are no internal class laoders.

### findClass

    protected Class<?> findClass(String name)
                          throws ClassNotFoundException

  Overrides:
    `findClass` in class `ClassLoader`
  Throws:
    `ClassNotFoundException`

### findResource

    protected URL findResource(String name)

  Overrides:
    `findResource` in class `ClassLoader`

### findResources

    protected Enumeration<URL> findResources(String name)
                                      throws IOException

  Overrides:
    `findResources` in class `ClassLoader`
  Throws:
    `IOException`

### equals

    public boolean equals(Object other)

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.