Package org.armedbear.lisp
Class JavaClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- org.armedbear.lisp.JavaClassLoader
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
- Direct Known Subclasses:
FaslClassLoader
,MemoryClassLoader
public class JavaClassLoader extends java.net.URLClassLoader
-
-
Field Summary
Fields Modifier and Type Field Description static boolean
checkPreCompiledClassLoader
static Symbol
CLASSLOADER
-
Constructor Summary
Constructors Constructor Description JavaClassLoader()
JavaClassLoader(java.lang.ClassLoader parent)
JavaClassLoader(java.net.URL[] classpath, java.lang.ClassLoader parent)
JavaClassLoader(JavaClassLoader parent)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addURL(java.net.URL url)
protected static void
addURL(JavaClassLoader jcl, LispObject jar)
protected java.lang.Class<?>
defineLispClass(java.lang.String name, byte[] b, int off, int len)
static LispObject
dumpClassPath(java.lang.ClassLoader o)
java.lang.Class<?>
findPrecompiledClassOrNull(java.lang.String name)
Returns a class loaded by the system or bootstrap class loader; or return null if not found.static java.lang.ClassLoader
getCurrentClassLoader()
byte[]
getFunctionClassBytes(java.lang.Class<?> functionClass)
byte[]
getFunctionClassBytes(java.lang.String name)
byte[]
getFunctionClassBytes(Function f)
static JavaClassLoader
getPersistentInstance()
static JavaClassLoader
getPersistentInstance(java.lang.String packageName)
java.lang.Class<?>
loadClass(java.lang.String name)
java.lang.Class<?>
loadClassFromByteArray(byte[] classbytes)
java.lang.Class<?>
loadClassFromByteArray(java.lang.String className, byte[] classbytes)
java.lang.Class<?>
loadClassFromByteArray(java.lang.String className, byte[] bytes, int offset, int length)
-
Methods inherited from class java.net.URLClassLoader
close, definePackage, findClass, findResource, findResources, getPermissions, 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, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Field Detail
-
checkPreCompiledClassLoader
public static boolean checkPreCompiledClassLoader
-
CLASSLOADER
public static final Symbol CLASSLOADER
-
-
Constructor Detail
-
JavaClassLoader
public JavaClassLoader()
-
JavaClassLoader
public JavaClassLoader(java.lang.ClassLoader parent)
-
JavaClassLoader
public JavaClassLoader(JavaClassLoader parent)
-
JavaClassLoader
public JavaClassLoader(java.net.URL[] classpath, java.lang.ClassLoader parent)
-
-
Method Detail
-
loadClass
public java.lang.Class<?> loadClass(java.lang.String name) throws java.lang.ClassNotFoundException
- Overrides:
loadClass
in classjava.lang.ClassLoader
- Throws:
java.lang.ClassNotFoundException
-
findPrecompiledClassOrNull
public java.lang.Class<?> findPrecompiledClassOrNull(java.lang.String name)
Returns a class loaded by the system or bootstrap class loader; or return null if not found. On AOT systems like GCJ and IKVM this means a class implemented in ASM or CLR like findLoadedClass it does not throw an exception if a class is not found
-
getFunctionClassBytes
public byte[] getFunctionClassBytes(java.lang.String name)
-
getFunctionClassBytes
public byte[] getFunctionClassBytes(java.lang.Class<?> functionClass)
-
getFunctionClassBytes
public final byte[] getFunctionClassBytes(Function f)
-
getPersistentInstance
public static JavaClassLoader getPersistentInstance()
-
getPersistentInstance
public static JavaClassLoader getPersistentInstance(java.lang.String packageName)
-
loadClassFromByteArray
public java.lang.Class<?> loadClassFromByteArray(byte[] classbytes)
-
loadClassFromByteArray
public java.lang.Class<?> loadClassFromByteArray(java.lang.String className, byte[] classbytes)
-
defineLispClass
protected final java.lang.Class<?> defineLispClass(java.lang.String name, byte[] b, int off, int len) throws java.lang.ClassFormatError
- Throws:
java.lang.ClassFormatError
-
loadClassFromByteArray
public java.lang.Class<?> loadClassFromByteArray(java.lang.String className, byte[] bytes, int offset, int length)
-
addURL
public void addURL(java.net.URL url)
- Overrides:
addURL
in classjava.net.URLClassLoader
-
addURL
protected static void addURL(JavaClassLoader jcl, LispObject jar)
-
dumpClassPath
public static LispObject dumpClassPath(java.lang.ClassLoader o)
-
getCurrentClassLoader
public static java.lang.ClassLoader getCurrentClassLoader()
-
-