public final class ClassLoaders extends Object
ClassLoader.| Modifier and Type | Field and Description |
|---|---|
static ClassLoader |
BOOTCLASSPATH_CLASS_LOADER
The
ClassLoader that loads the classes on the currently executing JVM's "boot class path", i.e. the JARs
in the JRE's "lib" and "lib/ext" directories, but not the JARs and class directories specified through the
--classpath command line option. |
static ClassLoader |
CLASSPATH_CLASS_LOADER
The
ClassLoader that loads the classes on the currently executing JVM's "class path", i.e. the JARs in
the JRE's "lib" and "lib/ext" directories, and the JARs and class directories specified through the class path. |
| Modifier and Type | Method and Description |
|---|---|
static ClassLoader |
getsResourceAsStream(ResourceFinder finder,
ClassLoader parent)
Creates and returns a
ClassLoader that implements ClassLoader.getResourceAsStream(String) via a
ResourceFinder. |
static Map<String,URL> |
getSubresources(ClassLoader classLoader,
String name,
boolean includeDirectories,
boolean recurse)
Returns a name-to-URL mapping of all resources "under" a given directory name.
|
static Map<String,URL> |
getSubresourcesOf(URL root,
String rootName,
boolean includeDirectories,
boolean recurse)
Returns a name-to-URL mapping of all resources "under" a given root resource.
|
public static final ClassLoader CLASSPATH_CLASS_LOADER
ClassLoader that loads the classes on the currently executing JVM's "class path", i.e. the JARs in
the JRE's "lib" and "lib/ext" directories, and the JARs and class directories specified through the class path.public static final ClassLoader BOOTCLASSPATH_CLASS_LOADER
ClassLoader that loads the classes on the currently executing JVM's "boot class path", i.e. the JARs
in the JRE's "lib" and "lib/ext" directories, but not the JARs and class directories specified through the
--classpath command line option.public static ClassLoader getsResourceAsStream(ResourceFinder finder, @Nullable ClassLoader parent)
ClassLoader that implements ClassLoader.getResourceAsStream(String) via a
ResourceFinder.
ClassLoader.getResource(String) returns a non-null value iff then resoure finder finds a
LocatableResource.
Notice that ClassLoader.getResources(String) is not overridden.
public static Map<String,URL> getSubresources(@Nullable ClassLoader classLoader, String name, boolean includeDirectories, boolean recurse) throws IOException
Iff the name does not end with a slash, then calling this method is equivalent with calling
ClassLoader.getResource(String).
Otherwise, if the name does end with a slash, then this method returns a name-to-URL
mapping of all content resources who's names begin with the given name.
Iff recurse is false, then only immediate subresources are included.
Iff includeDirectories is true, then also directory resources are included in the result
set; their names all ending with a slash.
If multiple resources have the name, then the resources are retrieved from the first occurrence.
classLoader - The class loader to use; null means use the system class loadername - No leading slashIOExceptionpublic static Map<String,URL> getSubresourcesOf(URL root, String rootName, boolean includeDirectories, boolean recurse) throws IOException
If the root designates a "content resource" (as opposed to a "directory resource"), then the
method returns Collections.singletonMap(name, rootName).
Otherwise, if the root designates a "directory resource", then this method returns a name-to-URL
mapping of all content resources that are located "under" the root resource.
Iff recurse is false, then only immediate subresources are included.
Iff includeDirectories is true, then directory resources are also included in the result
set; their names all ending with a slash.
IOExceptionCopyright © 2024. All rights reserved.