Package gnu.bytecode
Class ArrayClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- gnu.bytecode.ArrayClassLoader
-
public class ArrayClassLoader extends ClassLoader
Load classes from a set of byte arrays.
-
-
Constructor Summary
Constructors Constructor Description ArrayClassLoader()ArrayClassLoader(byte[][] classBytes)Load classes from the given byte arrays.ArrayClassLoader(ClassLoader parent)ArrayClassLoader(String[] classNames, byte[][] classBytes)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddClass(ClassType ctype)voidaddClass(Class clas)voidaddClass(String name, byte[] bytes)protected URLfindResource(String name)static PackagegetContextPackage(String cname)InputStreamgetResourceAsStream(String name)URLgetResourceContext()Get base URL to use for finding resources, or null if none is set.ClassloadClass(String name)Load named class.ClassloadClass(String name, boolean resolve)voidsetResourceContext(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 Detail
-
ArrayClassLoader
public ArrayClassLoader()
-
ArrayClassLoader
public ArrayClassLoader(ClassLoader parent)
-
ArrayClassLoader
public ArrayClassLoader(byte[][] classBytes)
Load classes from the given byte arrays. By convention, the classes we manage are named"lambda"+<INTEGER>.
-
ArrayClassLoader
public ArrayClassLoader(String[] classNames, byte[][] classBytes)
-
-
Method Detail
-
getResourceContext
public URL getResourceContext()
Get base URL to use for finding resources, or null if none is set.
-
setResourceContext
public void setResourceContext(URL context)
Set base URL to use for finding resources.
-
addClass
public void addClass(Class clas)
-
addClass
public void addClass(String name, byte[] bytes)
-
addClass
public void addClass(ClassType ctype)
-
getResourceAsStream
public InputStream getResourceAsStream(String name)
- Overrides:
getResourceAsStreamin classClassLoader
-
findResource
protected URL findResource(String name)
- Overrides:
findResourcein classClassLoader
-
loadClass
public Class loadClass(String name, boolean resolve) throws ClassNotFoundException
- Overrides:
loadClassin classClassLoader- Throws:
ClassNotFoundException
-
loadClass
public Class loadClass(String name) throws ClassNotFoundException
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:
loadClassin classClassLoader- Throws:
ClassNotFoundException
-
-