Package org.eclipse.sisu.space
Class URLClassSpace
- java.lang.Object
-
- org.eclipse.sisu.space.URLClassSpace
-
- All Implemented Interfaces:
ClassSpace
- Direct Known Subclasses:
CloningClassSpace
public class URLClassSpace extends Object implements ClassSpace
-
-
Constructor Summary
Constructors Constructor Description URLClassSpace(ClassLoader loader)
Creates aClassSpace
backed by aClassLoader
and its default class path.URLClassSpace(ClassLoader loader, URL[] path)
Creates aClassSpace
backed by aClassLoader
with a restricted class path.
-
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.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.URL[]
getURLs()
int
hashCode()
Class<?>
loadClass(String name)
Loads the named class from the surrounding class space.String
toString()
-
-
-
Constructor Detail
-
URLClassSpace
public URLClassSpace(ClassLoader loader)
Creates aClassSpace
backed by aClassLoader
and its default class path.For
URLClassLoader
s this is their expanded Class-Path; otherwise it is empty.- Parameters:
loader
- The class loader to use when getting/finding resources
-
URLClassSpace
public URLClassSpace(ClassLoader loader, URL[] path)
Creates aClassSpace
backed by aClassLoader
with a restricted class path.- Parameters:
loader
- The class loader to use when getting resourcespath
- The class path to use when finding resources- See Also:
getResources(String)
,findEntries(String, String, boolean)
-
-
Method Detail
-
loadClass
public final 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 final 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 final 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 final 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 final 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)
-
getURLs
public final URL[] getURLs()
-
-