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.GroovyClassLoaderExtended version ofGroovyClassLoaderthat 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 voidaddClass(java.lang.String name, byte[] code)voidaddService(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 parentClassLoaderconfig- TheCompilerConfigurationuseConfigurationClasspath- Whether to use the configuration classpath
-
InMemoryByteCodeGroovyClassLoader
public InMemoryByteCodeGroovyClassLoader(java.lang.ClassLoader loader, org.codehaus.groovy.control.CompilerConfiguration config)- Parameters:
loader- TheClassLoaderconfig- 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.MalformedURLExceptionAdds 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:
loadClassin 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:
findResourcesin classjava.net.URLClassLoader- Throws:
java.io.IOException
-
-