public class BundleClassLoader extends ClassLoader implements DelegatingBundleReference
Bundle.
Bundle.getResource(String) or
Bundle.getResources(String) does not return the resources found in the wired bundles of the bundle
(wired via Import-Package or DynamicImport-Package). This class loader implementation provides
#getResource(String) and {@link #getResources(String)} methods that do delegate such resource lookups to
the wired bundles.
| Modifier and Type | Field and Description |
|---|---|
protected org.osgi.framework.Bundle |
bundle |
protected BundleResourceHelper |
resourceHelper |
| Constructor and Description |
|---|
BundleClassLoader(org.osgi.framework.Bundle bundle) |
BundleClassLoader(org.osgi.framework.Bundle bundle,
boolean searchWiredBundles) |
BundleClassLoader(org.osgi.framework.Bundle bundle,
boolean searchWiredBundles,
boolean convertResourceUrls) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object other) |
Enumeration<URL> |
findResources(String name) |
org.osgi.framework.Bundle |
getBundle()
Return the bundle associated with this classloader.
|
org.osgi.framework.Bundle |
getBundle(boolean unwrap)
Return the bundle associated with this classloader.
|
boolean |
getConvertResourceUrls() |
URL |
getResource(String name) |
Enumeration<URL> |
getResources(String name) |
boolean |
getSearchWiredBundles() |
int |
hashCode() |
protected Class<?> |
loadClass(String name,
boolean resolve) |
void |
setConvertResourceUrls(boolean convert) |
void |
setSearchWiredBundles(boolean search) |
String |
toString() |
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResourceAsStream, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignersprotected final org.osgi.framework.Bundle bundle
protected final BundleResourceHelper resourceHelper
public BundleClassLoader(org.osgi.framework.Bundle bundle)
public BundleClassLoader(org.osgi.framework.Bundle bundle,
boolean searchWiredBundles)
public BundleClassLoader(org.osgi.framework.Bundle bundle,
boolean searchWiredBundles,
boolean convertResourceUrls)
protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
loadClass in class ClassLoaderClassNotFoundExceptionpublic URL getResource(String name)
getResource in class ClassLoaderpublic Enumeration<URL> getResources(String name) throws IOException
getResources in class ClassLoaderIOExceptionpublic Enumeration<URL> findResources(String name) throws IOException
findResources in class ClassLoaderIOExceptionpublic void setSearchWiredBundles(boolean search)
public boolean getSearchWiredBundles()
public void setConvertResourceUrls(boolean convert)
public boolean getConvertResourceUrls()
public org.osgi.framework.Bundle getBundle(boolean unwrap)
DelegatingBundle.
In such cases, the unwrap parameter controls whether this function returns the
DelegatingBundle instance or the main application bundle backing with the DelegatingBundle.getBundle in interface DelegatingBundleReferenceunwrap - If true and if the bundle associated with this classloader is a DelegatingBundle,
this function will return the main application bundle backing with the DelegatingBundle.
Otherwise, the bundle associated with this classloader is returned as is.public org.osgi.framework.Bundle getBundle()
getBundle(true) and therefore always returns a regular
framework bundle.
BundleReference.getBundle() to obtain a bundle for the given
classloader and expect the returned bundle instance to be work with any OSGi API. Some of these API might
not work if DelegatingBundle is returned. That is why this function will always return
a regular framework bundle. See getBundle(boolean) for more information.getBundle in interface org.osgi.framework.BundleReferenceCopyright © 2005-2013 The Apache Software Foundation. All Rights Reserved.