Class JavaClassLoader

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
    Direct Known Subclasses:
    FaslClassLoader, MemoryClassLoader

    public class JavaClassLoader
    extends java.net.URLClassLoader
    • 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.security.SecureClassLoader

        defineClass, defineClass
      • 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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​(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 class java.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 class java.net.URLClassLoader
      • dumpClassPath

        public static LispObject dumpClassPath​(java.lang.ClassLoader o)
      • getCurrentClassLoader

        public static java.lang.ClassLoader getCurrentClassLoader()