Package gnu.bytecode
Class ArrayClassLoader
java.lang.Object
java.lang.ClassLoader
gnu.bytecode.ArrayClassLoader
Load classes from a set of byte arrays.
-
Constructor Summary
ConstructorsConstructorDescriptionArrayClassLoader
(byte[][] classBytes) Load classes from the given byte arrays.ArrayClassLoader
(ClassLoader parent) ArrayClassLoader
(String[] classNames, byte[][] classBytes) -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
void
protected URL
findResource
(String name) static Package
getContextPackage
(String cname) getResourceAsStream
(String name) Get base URL to use for finding resources, or null if none is set.Load named class.void
setResourceContext
(URL context) Set base URL to use for finding resources.Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findClass, findLibrary, findLoadedClass, findResource, findResources, 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 Details
-
ArrayClassLoader
public ArrayClassLoader() -
ArrayClassLoader
-
ArrayClassLoader
public ArrayClassLoader(byte[][] classBytes) Load classes from the given byte arrays. By convention, the classes we manage are named"lambda"+<INTEGER>
. -
ArrayClassLoader
-
-
Method Details
-
getResourceContext
Get base URL to use for finding resources, or null if none is set. -
setResourceContext
Set base URL to use for finding resources. -
addClass
-
addClass
-
addClass
-
getResourceAsStream
- Overrides:
getResourceAsStream
in classClassLoader
-
findResource
- Overrides:
findResource
in classClassLoader
-
loadClass
- Overrides:
loadClass
in classClassLoader
- Throws:
ClassNotFoundException
-
loadClass
Load named class. Note we deliberately don't follow the Java2 delegation model, in order to allow classes to be overridden and replaced. Specifically, we depend on this for the "session class-loader".- Overrides:
loadClass
in classClassLoader
- Throws:
ClassNotFoundException
-
getContextPackage
-