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 aClassSpacebacked by aClassLoaderand its default class path.URLClassSpace(ClassLoader loader, URL[] path)Creates aClassSpacebacked by aClassLoaderwith 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.booleanequals(Object rhs)Enumeration<URL>findEntries(String path, String glob, boolean recurse)Queries local class space content for entries matching the given pattern.URLgetResource(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()inthashCode()Class<?>loadClass(String name)Loads the named class from the surrounding class space.StringtoString()
-
-
-
Constructor Detail
-
URLClassSpace
public URLClassSpace(ClassLoader loader)
Creates aClassSpacebacked by aClassLoaderand its default class path.For
URLClassLoaders 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 aClassSpacebacked by aClassLoaderwith 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:ClassSpaceLoads the named class from the surrounding class space.- Specified by:
loadClassin 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:ClassSpaceDefers loading of the named class from the surrounding class space.- Specified by:
deferLoadClassin 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:ClassSpaceQueries the surrounding class space for the resource with the given name.- Specified by:
getResourcein interfaceClassSpace- Parameters:
name- The resource name- Returns:
- URL pointing to the resource;
nullif it wasn't found - See Also:
ClassLoader.getResource(String)
-
getResources
public final Enumeration<URL> getResources(String name)
Description copied from interface:ClassSpaceQueries the surrounding class space for all resources with the given name.- Specified by:
getResourcesin 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:ClassSpaceQueries local class space content for entries matching the given pattern.- Specified by:
findEntriesin interfaceClassSpace- Parameters:
path- The initial search directory; for example"META-INF"glob- The filename glob pattern; for example"*.xml"recurse- Iftruerecurse 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()
-
-