## org.springframework.instrument.classloading
Class ResourceOverridingShadowingClassLoader

    java.lang.Object
      java.lang.ClassLoader
          org.springframework.core.DecoratingClassLoader
              org.springframework.instrument.classloading.ShadowingClassLoader
                  org.springframework.instrument.classloading.ResourceOverridingShadowingClassLoader

    public class ResourceOverridingShadowingClassLoader

extends ShadowingClassLoader

Subclass of ShadowingClassLoader that overrides attempts to locate certain files.

Since:
  2.0
Author:
  Rod Johnson, Adrian Colyer

Field Summary

Fields inherited from class org.springframework.instrument.classloading.ShadowingClassLoader
`DEFAULT_EXCLUDED_PACKAGES`

Constructor Summary
`ResourceOverridingShadowingClassLoader(ClassLoader enclosingClassLoader)` Create a new ResourceOverridingShadowingClassLoader, decorating the given ClassLoader.

Method Summary
`void` `copyOverrides(ResourceOverridingShadowingClassLoader other)` Copy all overrides from the given ClassLoader.
`URL` `getResource(String requestedPath)`
`InputStream` `getResourceAsStream(String requestedPath)`
`Enumeration<URL>` `getResources(String requestedPath)`
`void` `override(String oldPath, String newPath)` Return the resource (if any) at the new path on an attempt to locate a resource at the old path.
`void` `suppress(String oldPath)` Ensure that a resource with the given path is not found.

Methods inherited from class org.springframework.instrument.classloading.ShadowingClassLoader
`addTransformer, copyTransformers, isEligibleForShadowing, loadClass`

Methods inherited from class org.springframework.core.DecoratingClassLoader
`excludeClass, excludePackage, isExcluded`

Methods inherited from class java.lang.ClassLoader

`clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ResourceOverridingShadowingClassLoader

    public ResourceOverridingShadowingClassLoader(ClassLoader enclosingClassLoader)

  Create a new ResourceOverridingShadowingClassLoader, decorating the given ClassLoader.

  Parameters:
    `enclosingClassLoader` - the ClassLoader to decorate

Method Detail

### override

    public void override(String oldPath,
                         String newPath)

  Return the resource (if any) at the new path on an attempt to locate a resource at the old path.

  Parameters:
    `oldPath` - the path requested
    `newPath` - the actual path to be looked up

### suppress

    public void suppress(String oldPath)

  Ensure that a resource with the given path is not found.

  Parameters:
    `oldPath` - the path of the resource to hide even if it exists in the parent ClassLoader

### copyOverrides

    public void copyOverrides(ResourceOverridingShadowingClassLoader other)

  Copy all overrides from the given ClassLoader.

  Parameters:
    `other` - the other ClassLoader to copy from

### getResource

    public URL getResource(String requestedPath)

  Overrides:
    `getResource` in class `ShadowingClassLoader`

### getResourceAsStream

    public InputStream getResourceAsStream(String requestedPath)

  Overrides:
    `getResourceAsStream` in class `ShadowingClassLoader`

### getResources

    public Enumeration<URL> getResources(String requestedPath)
                                  throws IOException

  Overrides:
    `getResources` in class `ShadowingClassLoader`
  Throws:
    `IOException`