org.glassfish.osgijavaeebase
Class BundleClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by org.glassfish.osgijavaeebase.BundleClassLoader

public class BundleClassLoader
extends java.lang.ClassLoader

This is a delegating class loader. It always delegates to OSGi bundle's class loader. ClassLoader.defineClass() is never called in the context of this class. There will never be a class for which getClassLoader() would return this class loader. It overrides loadClass(), getResource() and getResources() as opposed to their findXYZ() equivalents so that the OSGi export control mechanism is enforced even for classes and resources available in the system/boot class loader.

Author:
Sanjeeb.Sahoo@Sun.COM

Constructor Summary
BundleClassLoader(org.osgi.framework.Bundle b)
           
 
Method Summary
 java.net.URL getResource(java.lang.String name)
           
 java.util.Enumeration<java.net.URL> getResources(java.lang.String name)
           
 java.lang.Class<?> loadClass(java.lang.String name, boolean resolve)
           
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResourceAsStream, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BundleClassLoader

public BundleClassLoader(org.osgi.framework.Bundle b)
Method Detail

loadClass

public java.lang.Class<?> loadClass(java.lang.String name,
                                    boolean resolve)
                             throws java.lang.ClassNotFoundException
Overrides:
loadClass in class java.lang.ClassLoader
Throws:
java.lang.ClassNotFoundException

getResource

public java.net.URL getResource(java.lang.String name)
Overrides:
getResource in class java.lang.ClassLoader

getResources

public java.util.Enumeration<java.net.URL> getResources(java.lang.String name)
                                                 throws java.io.IOException
Overrides:
getResources in class java.lang.ClassLoader
Throws:
java.io.IOException


Copyright © 2011 GlassFish Community. All Rights Reserved.