Class InMemoryByteCodeGroovyClassLoader

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    @Internal
    public class InMemoryByteCodeGroovyClassLoader
    extends groovy.lang.GroovyClassLoader
    Extended version of GroovyClassLoader that can be used to test dependency injection compilation.
    Since:
    1.0
    • Nested Class Summary

      • Nested classes/interfaces inherited from class groovy.lang.GroovyClassLoader

        groovy.lang.GroovyClassLoader.ClassCollector, groovy.lang.GroovyClassLoader.InnerLoader
    • Field Summary

      • Fields inherited from class groovy.lang.GroovyClassLoader

        classCache, sourceCache
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addClass​(java.lang.String name, byte[] code)  
      void addService​(java.lang.String name, java.util.Set<java.lang.String> classes)
      Adds one or many services that can be loaded via ServiceLoader.
      java.util.Enumeration<java.net.URL> findResources​(java.lang.String name)  
      java.lang.Class<?> loadClass​(java.lang.String name)  
      • Methods inherited from class groovy.lang.GroovyClassLoader

        addClasspath, addURL, clearCache, close, createCollector, createCompilationUnit, defineClass, defineClass, generateScriptName, getClassCacheEntry, getClassPath, getLoadedClasses, getPermissions, getResourceLoader, getTimeStamp, hasCompatibleConfiguration, isRecompilable, isShouldRecompile, isSourceNewer, loadClass, loadClass, loadClass, parseClass, parseClass, parseClass, parseClass, parseClass, parseClass, parseClass, recompile, removeClassCacheEntry, setClassCacheEntry, setResourceLoader, setShouldRecompile
      • Methods inherited from class java.net.URLClassLoader

        definePackage, findClass, findResource, getResourceAsStream, getURLs, newInstance, newInstance
      • Methods inherited from class java.security.SecureClassLoader

        defineClass, defineClass
      • Methods inherited from class java.lang.ClassLoader

        clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • InMemoryByteCodeGroovyClassLoader

        public InMemoryByteCodeGroovyClassLoader()
        Default constructor.
      • InMemoryByteCodeGroovyClassLoader

        public InMemoryByteCodeGroovyClassLoader​(java.lang.ClassLoader loader)
        Parameters:
        loader - The ClassLoader
      • InMemoryByteCodeGroovyClassLoader

        public InMemoryByteCodeGroovyClassLoader​(groovy.lang.GroovyClassLoader parent)
        Parameters:
        parent - The GroovyClassLoader
      • InMemoryByteCodeGroovyClassLoader

        public InMemoryByteCodeGroovyClassLoader​(java.lang.ClassLoader parent,
                                                 org.codehaus.groovy.control.CompilerConfiguration config,
                                                 boolean useConfigurationClasspath)
        Parameters:
        parent - The parent ClassLoader
        config - The CompilerConfiguration
        useConfigurationClasspath - Whether to use the configuration classpath
      • InMemoryByteCodeGroovyClassLoader

        public InMemoryByteCodeGroovyClassLoader​(java.lang.ClassLoader loader,
                                                 org.codehaus.groovy.control.CompilerConfiguration config)
        Parameters:
        loader - The ClassLoader
        config - The CompilerConfiguration
    • Method Detail

      • addClass

        public void addClass​(java.lang.String name,
                             byte[] code)
        Parameters:
        name - The name of the class
        code - The code
      • addService

        public void addService​(java.lang.String name,
                               java.util.Set<java.lang.String> classes)
                        throws java.net.MalformedURLException
        Adds one or many services that can be loaded via ServiceLoader.
        Parameters:
        name - The name of the service
        classes - The classes
        Throws:
        java.net.MalformedURLException - If the name is not valid
      • loadClass

        public java.lang.Class<?> loadClass​(java.lang.String name)
                                     throws java.lang.ClassNotFoundException
        Overrides:
        loadClass in class groovy.lang.GroovyClassLoader
        Throws:
        java.lang.ClassNotFoundException
      • findResources

        public java.util.Enumeration<java.net.URL> findResources​(java.lang.String name)
                                                          throws java.io.IOException
        Overrides:
        findResources in class java.net.URLClassLoader
        Throws:
        java.io.IOException