public class ResourceOverridingShadowingClassLoader extends ShadowingClassLoader
Modifier and Type | Field and Description |
---|---|
private static java.util.Enumeration<java.net.URL> |
EMPTY_URL_ENUMERATION |
private java.util.Map<java.lang.String,java.lang.String> |
overrides
Key is asked for value: value is actual value
|
DEFAULT_EXCLUDED_PACKAGES
Constructor and Description |
---|
ResourceOverridingShadowingClassLoader(java.lang.ClassLoader enclosingClassLoader)
Create a new ResourceOverridingShadowingClassLoader,
decorating the given ClassLoader.
|
Modifier and Type | Method and Description |
---|---|
void |
copyOverrides(ResourceOverridingShadowingClassLoader other)
Copy all overrides from the given ClassLoader.
|
java.net.URL |
getResource(java.lang.String requestedPath) |
java.io.InputStream |
getResourceAsStream(java.lang.String requestedPath) |
java.util.Enumeration<java.net.URL> |
getResources(java.lang.String requestedPath) |
void |
override(java.lang.String oldPath,
java.lang.String newPath)
Return the resource (if any) at the new path
on an attempt to locate a resource at the old path.
|
void |
suppress(java.lang.String oldPath)
Ensure that a resource with the given path is not found.
|
addTransformer, copyTransformers, isEligibleForShadowing, loadClass
excludeClass, excludePackage, isExcluded
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
private static final java.util.Enumeration<java.net.URL> EMPTY_URL_ENUMERATION
private java.util.Map<java.lang.String,java.lang.String> overrides
public ResourceOverridingShadowingClassLoader(java.lang.ClassLoader enclosingClassLoader)
enclosingClassLoader
- the ClassLoader to decoratepublic void override(java.lang.String oldPath, java.lang.String newPath)
oldPath
- the path requestednewPath
- the actual path to be looked uppublic void suppress(java.lang.String oldPath)
oldPath
- the path of the resource to hide even if
it exists in the parent ClassLoaderpublic void copyOverrides(ResourceOverridingShadowingClassLoader other)
other
- the other ClassLoader to copy frompublic java.net.URL getResource(java.lang.String requestedPath)
getResource
in class ShadowingClassLoader
public java.io.InputStream getResourceAsStream(java.lang.String requestedPath)
getResourceAsStream
in class ShadowingClassLoader
public java.util.Enumeration<java.net.URL> getResources(java.lang.String requestedPath) throws java.io.IOException
getResources
in class ShadowingClassLoader
java.io.IOException