Package org.eclipse.sisu.space
Class BundleClassSpace
- java.lang.Object
-
- org.eclipse.sisu.space.BundleClassSpace
-
- All Implemented Interfaces:
ClassSpace
public final class BundleClassSpace extends Object implements ClassSpace
ClassSpace
backed by a strongly-referencedBundle
.
-
-
Constructor Summary
Constructors Constructor Description BundleClassSpace(org.osgi.framework.Bundle bundle)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DeferredClass<?>
deferLoadClass(String name)
Defers loading of the named class from the surrounding class space.boolean
equals(Object rhs)
Enumeration<URL>
findEntries(String path, String glob, boolean recurse)
Queries local class space content for entries matching the given pattern.org.osgi.framework.Bundle
getBundle()
URL
getResource(String name)
Queries the surrounding class space for the resource with the given name.Enumeration<URL>
getResources(String name)
Queries the surrounding class space for all resources with the given name.int
hashCode()
Class<?>
loadClass(String name)
Loads the named class from the surrounding class space.String
toString()
-
-
-
Method Detail
-
loadClass
public Class<?> loadClass(String name)
Description copied from interface:ClassSpace
Loads the named class from the surrounding class space.- Specified by:
loadClass
in interfaceClassSpace
- Parameters:
name
- The class name- Returns:
- Class instance
- See Also:
ClassLoader.loadClass(String)
-
deferLoadClass
public DeferredClass<?> deferLoadClass(String name)
Description copied from interface:ClassSpace
Defers loading of the named class from the surrounding class space.- Specified by:
deferLoadClass
in interfaceClassSpace
- Parameters:
name
- The class name- Returns:
- Deferred class
- See Also:
ClassLoader.loadClass(String)
-
getResource
public URL getResource(String name)
Description copied from interface:ClassSpace
Queries the surrounding class space for the resource with the given name.- Specified by:
getResource
in interfaceClassSpace
- Parameters:
name
- The resource name- Returns:
- URL pointing to the resource;
null
if it wasn't found - See Also:
ClassLoader.getResource(String)
-
getResources
public Enumeration<URL> getResources(String name)
Description copied from interface:ClassSpace
Queries the surrounding class space for all resources with the given name.- Specified by:
getResources
in interfaceClassSpace
- Parameters:
name
- The resource name- Returns:
- Sequence of URLs, one for each matching resource
- See Also:
ClassLoader.getResources(String)
-
findEntries
public Enumeration<URL> findEntries(String path, String glob, boolean recurse)
Description copied from interface:ClassSpace
Queries local class space content for entries matching the given pattern.- Specified by:
findEntries
in interfaceClassSpace
- Parameters:
path
- The initial search directory; for example"META-INF"
glob
- The filename glob pattern; for example"*.xml"
recurse
- Iftrue
recurse into sub-directories; otherwise only search initial directory- Returns:
- Sequence of URLs, one for each matching entry
- See Also:
Bundle.findEntries(String, String, boolean)
-
getBundle
public org.osgi.framework.Bundle getBundle()
-
-