Package io.micronaut.ast.groovy.utils
Class InMemoryByteCodeGroovyClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- groovy.lang.GroovyClassLoader
-
- io.micronaut.ast.groovy.utils.InMemoryByteCodeGroovyClassLoader
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
@Internal public class InMemoryByteCodeGroovyClassLoader extends groovy.lang.GroovyClassLoader
Extended version ofGroovyClassLoader
that can be used to test dependency injection compilation.- Since:
- 1.0
-
-
Constructor Summary
Constructors Constructor Description InMemoryByteCodeGroovyClassLoader()
Default constructor.InMemoryByteCodeGroovyClassLoader(groovy.lang.GroovyClassLoader parent)
InMemoryByteCodeGroovyClassLoader(java.lang.ClassLoader loader)
InMemoryByteCodeGroovyClassLoader(java.lang.ClassLoader loader, org.codehaus.groovy.control.CompilerConfiguration config)
InMemoryByteCodeGroovyClassLoader(java.lang.ClassLoader parent, org.codehaus.groovy.control.CompilerConfiguration config, boolean useConfigurationClasspath)
-
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 viaServiceLoader
.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.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
-
-
-
-
Constructor Detail
-
InMemoryByteCodeGroovyClassLoader
public InMemoryByteCodeGroovyClassLoader()
Default constructor.
-
InMemoryByteCodeGroovyClassLoader
public InMemoryByteCodeGroovyClassLoader(java.lang.ClassLoader loader)
- Parameters:
loader
- TheClassLoader
-
InMemoryByteCodeGroovyClassLoader
public InMemoryByteCodeGroovyClassLoader(groovy.lang.GroovyClassLoader parent)
- Parameters:
parent
- TheGroovyClassLoader
-
InMemoryByteCodeGroovyClassLoader
public InMemoryByteCodeGroovyClassLoader(java.lang.ClassLoader parent, org.codehaus.groovy.control.CompilerConfiguration config, boolean useConfigurationClasspath)
- Parameters:
parent
- The parentClassLoader
config
- TheCompilerConfiguration
useConfigurationClasspath
- Whether to use the configuration classpath
-
InMemoryByteCodeGroovyClassLoader
public InMemoryByteCodeGroovyClassLoader(java.lang.ClassLoader loader, org.codehaus.groovy.control.CompilerConfiguration config)
- Parameters:
loader
- TheClassLoader
config
- TheCompilerConfiguration
-
-
Method Detail
-
addClass
public void addClass(java.lang.String name, byte[] code)
- Parameters:
name
- The name of the classcode
- 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 viaServiceLoader
.- Parameters:
name
- The name of the serviceclasses
- 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 classgroovy.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 classjava.net.URLClassLoader
- Throws:
java.io.IOException
-
-