public class BundleClassLoader extends ClassLoader implements org.osgi.framework.BundleReference
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.Constructor and Description |
---|
BundleClassLoader(org.osgi.framework.Bundle bundle) |
BundleClassLoader(org.osgi.framework.Bundle bundle,
boolean searchWiredBundles) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object other) |
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.
|
URL |
getResource(String name) |
Enumeration<URL> |
getResources(String name) |
boolean |
getSearchWiredBundles() |
int |
hashCode() |
Class<?> |
loadClass(String name) |
protected Class<?> |
loadClass(String name,
boolean resolve) |
void |
setSearchWiredBundles(boolean search) |
String |
toString() |
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResourceAsStream, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
public BundleClassLoader(org.osgi.framework.Bundle bundle)
public BundleClassLoader(org.osgi.framework.Bundle bundle, boolean searchWiredBundles)
public Class<?> loadClass(String name) throws ClassNotFoundException
loadClass
in class ClassLoader
ClassNotFoundException
protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
loadClass
in class ClassLoader
ClassNotFoundException
public URL getResource(String name)
getResource
in class ClassLoader
public Enumeration<URL> getResources(String name) throws IOException
getResources
in class ClassLoader
IOException
public void setSearchWiredBundles(boolean search)
public boolean getSearchWiredBundles()
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
.unwrap
- 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.BundleReference
Copyright © 2005–2014. All rights reserved.