org.ow2.petals.system.classloader
Class SharedLibrariesClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by org.ow2.petals.system.classloader.SharedLibrariesClassLoader

public class SharedLibrariesClassLoader
extends java.lang.ClassLoader

This classLoader englobes all SharedLibraries classLoader. When the ClassLoader of a component does not found a class, This classLoader search in all the SLClassLoader the class. If the class is not found in those SLClassLoader, search in the parent classLoader.

Since:
Petals 1.0
Version:
$Rev: 216 $ $Date: 2006-04-13 16:18:14 +0200 (jeu., 13 avr. 2006) $
Author:
Adrien LOUIS, ddesjardins - eBMWebsourcing

Field Summary
protected  java.util.Map<java.lang.String,SharedLibraryClassLoader> slClassLoaders
           
 
Constructor Summary
SharedLibrariesClassLoader(java.lang.ClassLoader parent)
          Create a SharedLibrariesClassLoader, with SystemClassLoader as parent.
 
Method Summary
 void addSharedLibraryClassLoader(java.lang.String id, SharedLibraryClassLoader cl)
          add a shared library class loader.
protected  java.net.URL getResource(java.lang.String resourceName, java.util.List<java.lang.String> sharedLibrariesNameList)
          Search in all referenced SharedLibrariesClassLoaders for the requested resource.
protected  java.io.InputStream getResourceAsStream(java.lang.String resourceName, java.util.List<java.lang.String> sharedLibrariesNameList)
          Search in all referenced SharedLibrariesClassLoaders for the requested resource.
protected  java.lang.Class<?> loadClass(java.lang.String className, boolean resolve, java.util.List<java.lang.String> sharedLibrariesNameList)
          Search in all referenced SharedLibrariesClassLoaders for the requested class.
 void removeSharedLibraryClassLoader(java.lang.String id)
          remove a shared library class loader.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, 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, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

slClassLoaders

protected java.util.Map<java.lang.String,SharedLibraryClassLoader> slClassLoaders
Constructor Detail

SharedLibrariesClassLoader

public SharedLibrariesClassLoader(java.lang.ClassLoader parent)
Create a SharedLibrariesClassLoader, with SystemClassLoader as parent.

Method Detail

addSharedLibraryClassLoader

public void addSharedLibraryClassLoader(java.lang.String id,
                                        SharedLibraryClassLoader cl)
add a shared library class loader.

Parameters:
id - the name of classloader
cl - the class loader

removeSharedLibraryClassLoader

public void removeSharedLibraryClassLoader(java.lang.String id)
remove a shared library class loader.

Parameters:
id - the name of class loader

getResource

protected java.net.URL getResource(java.lang.String resourceName,
                                   java.util.List<java.lang.String> sharedLibrariesNameList)
Search in all referenced SharedLibrariesClassLoaders for the requested resource.


getResourceAsStream

protected java.io.InputStream getResourceAsStream(java.lang.String resourceName,
                                                  java.util.List<java.lang.String> sharedLibrariesNameList)
Search in all referenced SharedLibrariesClassLoaders for the requested resource.


loadClass

protected java.lang.Class<?> loadClass(java.lang.String className,
                                       boolean resolve,
                                       java.util.List<java.lang.String> sharedLibrariesNameList)
                                throws java.lang.ClassNotFoundException
Search in all referenced SharedLibrariesClassLoaders for the requested class. If the class is not found, search in the parent classLoader.

Throws:
java.lang.ClassNotFoundException
See Also:
ClassLoader.loadClass(java.lang.String, boolean)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
Returns a String representation of the SharedLibrairiesClassLoader


Copyright © 2005-2011 Petals Link (EBM Websourcing). All Rights Reserved.