ChildFirstURLClassLoader (Grails 2.3.8)
Date: 2014-04-24

Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.groovy.grails.cli.support
[Groovy] Class ChildFirstURLClassLoader

    java.lang.Object
      java.lang.ClassLoader
          java.security.SecureClassLoader
              java.net.URLClassLoader
                  groovy.lang.GroovyClassLoader
                      org.codehaus.groovy.grails.cli.support.ChildFirstURLClassLoader

    @groovy.transform.CompileStatic
    class ChildFirstURLClassLoader
    extends groovy.lang.GroovyClassLoader

Based on http://stackoverflow.com/a/6424879/166062 Loads classes from the child first, before trying parent

Authors:
  Graeme Rocher

Constructor Summary
`ChildFirstURLClassLoader()`
`ChildFirstURLClassLoader(java.lang.ClassLoader parent)`

Method Summary
`java.net.URL` | `getResource(java.lang.String name)`
`java.io.InputStream` | `getResourceAsStream(java.lang.String name)` Similar to super, but local resources are enumerated before parent resources
`java.util.Enumeration` | `getResources(java.lang.String name)`
`protected java.lang.Class` | `loadClass(java.lang.String name, boolean resolve)`

Methods inherited from class groovy.lang.GroovyClassLoader
groovy.lang.GroovyClassLoader#addURL(java.net.URL), groovy.lang.GroovyClassLoader#parseClass(java.io.File), groovy.lang.GroovyClassLoader#parseClass(java.lang.String, java.lang.String), groovy.lang.GroovyClassLoader#parseClass(groovy.lang.GroovyCodeSource), groovy.lang.GroovyClassLoader#parseClass(java.io.InputStream, java.lang.String), groovy.lang.GroovyClassLoader#parseClass(groovy.lang.GroovyCodeSource, boolean), groovy.lang.GroovyClassLoader#parseClass(java.lang.String), groovy.lang.GroovyClassLoader#addClasspath(java.lang.String), groovy.lang.GroovyClassLoader#setResourceLoader(groovy.lang.GroovyResourceLoader), groovy.lang.GroovyClassLoader#getResourceLoader(), groovy.lang.GroovyClassLoader#generateScriptName(), groovy.lang.GroovyClassLoader#getLoadedClasses(), groovy.lang.GroovyClassLoader#setShouldRecompile(java.lang.Boolean), groovy.lang.GroovyClassLoader#isShouldRecompile(), groovy.lang.GroovyClassLoader#loadClass(java.lang.String, boolean, boolean, boolean), groovy.lang.GroovyClassLoader#loadClass(java.lang.String, boolean, boolean), groovy.lang.GroovyClassLoader#loadClass(java.lang.String), groovy.lang.GroovyClassLoader#clearCache(), groovy.lang.GroovyClassLoader#defineClass(java.lang.String, [B), groovy.lang.GroovyClassLoader#defineClass(org.codehaus.groovy.ast.ClassNode, java.lang.String, java.lang.String), groovy.lang.GroovyClassLoader#getURLs(), groovy.lang.GroovyClassLoader#newInstance([Ljava.net.URL;), groovy.lang.GroovyClassLoader#newInstance([Ljava.net.URL;, java.lang.ClassLoader), groovy.lang.GroovyClassLoader#getResourceAsStream(java.lang.String), groovy.lang.GroovyClassLoader#close(), groovy.lang.GroovyClassLoader#findResource(java.lang.String), groovy.lang.GroovyClassLoader#findResources(java.lang.String), groovy.lang.GroovyClassLoader#getSystemClassLoader(), groovy.lang.GroovyClassLoader#getResource(java.lang.String), groovy.lang.GroovyClassLoader#getSystemResourceAsStream(java.lang.String), groovy.lang.GroovyClassLoader#getSystemResource(java.lang.String), groovy.lang.GroovyClassLoader#getResources(java.lang.String), groovy.lang.GroovyClassLoader#getSystemResources(java.lang.String), groovy.lang.GroovyClassLoader#getParent(), groovy.lang.GroovyClassLoader#setDefaultAssertionStatus(boolean), groovy.lang.GroovyClassLoader#setPackageAssertionStatus(java.lang.String, boolean), groovy.lang.GroovyClassLoader#setClassAssertionStatus(java.lang.String, boolean), groovy.lang.GroovyClassLoader#clearAssertionStatus(), groovy.lang.GroovyClassLoader#wait(long, int), groovy.lang.GroovyClassLoader#wait(long), groovy.lang.GroovyClassLoader#wait(), groovy.lang.GroovyClassLoader#equals(java.lang.Object), groovy.lang.GroovyClassLoader#toString(), groovy.lang.GroovyClassLoader#hashCode(), groovy.lang.GroovyClassLoader#getClass(), groovy.lang.GroovyClassLoader#notify(), groovy.lang.GroovyClassLoader#notifyAll()

Methods inherited from class java.net.URLClassLoader
java.net.URLClassLoader#getURLs(), java.net.URLClassLoader#newInstance([Ljava.net.URL;), java.net.URLClassLoader#newInstance([Ljava.net.URL;, java.lang.ClassLoader), java.net.URLClassLoader#getResourceAsStream(java.lang.String), java.net.URLClassLoader#close(), java.net.URLClassLoader#findResource(java.lang.String), java.net.URLClassLoader#findResources(java.lang.String), java.net.URLClassLoader#loadClass(java.lang.String), java.net.URLClassLoader#getSystemClassLoader(), java.net.URLClassLoader#getResource(java.lang.String), java.net.URLClassLoader#getSystemResourceAsStream(java.lang.String), java.net.URLClassLoader#getSystemResource(java.lang.String), java.net.URLClassLoader#getResources(java.lang.String), java.net.URLClassLoader#getSystemResources(java.lang.String), java.net.URLClassLoader#getParent(), java.net.URLClassLoader#setDefaultAssertionStatus(boolean), java.net.URLClassLoader#setPackageAssertionStatus(java.lang.String, boolean), java.net.URLClassLoader#setClassAssertionStatus(java.lang.String, boolean), java.net.URLClassLoader#clearAssertionStatus(), java.net.URLClassLoader#wait(long, int), java.net.URLClassLoader#wait(long), java.net.URLClassLoader#wait(), java.net.URLClassLoader#equals(java.lang.Object), java.net.URLClassLoader#toString(), java.net.URLClassLoader#hashCode(), java.net.URLClassLoader#getClass(), java.net.URLClassLoader#notify(), java.net.URLClassLoader#notifyAll()

Constructor Detail

### ChildFirstURLClassLoader

    ChildFirstURLClassLoader()

### ChildFirstURLClassLoader

    ChildFirstURLClassLoader(java.lang.ClassLoader parent)

Method Detail

### getResource

    @java.lang.Override
    java.net.URL getResource(java.lang.String name)

### getResourceAsStream

    @java.lang.Override
    java.io.InputStream getResourceAsStream(java.lang.String name)

  Similar to super, but local resources are enumerated before parent resources

### getResources

    @java.lang.Override
    java.util.Enumeration getResources(java.lang.String name)

### loadClass

    @java.lang.Override
    protected java.lang.Class loadClass(java.lang.String name, boolean resolve)

Groovy Documentation