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 booleancheckPreCompiledClassLoaderstatic SymbolCLASSLOADER
-
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 voidaddURL(java.net.URL url)protected static voidaddURL(JavaClassLoader jcl, LispObject jar)protected java.lang.Class<?>defineLispClass(java.lang.String name, byte[] b, int off, int len)static LispObjectdumpClassPath(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.ClassLoadergetCurrentClassLoader()byte[]getFunctionClassBytes(java.lang.Class<?> functionClass)byte[]getFunctionClassBytes(java.lang.String name)byte[]getFunctionClassBytes(Function f)static JavaClassLoadergetPersistentInstance()static JavaClassLoadergetPersistentInstance(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:
loadClassin 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:
addURLin 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()
-
-