Package jtdog.dynamic

Class MemoryClassLoader

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

    public class MemoryClassLoader
    extends java.net.URLClassLoader
    A class loader that loads classes from in-memory data.
    • Constructor Summary

      Constructors 
      Constructor Description
      MemoryClassLoader​(java.net.URL[] urls)  
      MemoryClassLoader​(java.net.URL[] urls, java.lang.ClassLoader parent)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addDefinition​(java.lang.String name, byte[] bytes)
      Add a in-memory representation of a class.
      protected java.lang.Class<?> findClass​(java.lang.String name)
      メモリ上からクラスを探す.
      まずURLClassLoaderによるファイルシステム上のクラスのロードを試み,それがなければメモリ上のクラスロードを試す.
      • Methods inherited from class java.net.URLClassLoader

        addURL, close, definePackage, 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, 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
    • Constructor Detail

      • MemoryClassLoader

        public MemoryClassLoader​(java.net.URL[] urls,
                                 java.lang.ClassLoader parent)
      • MemoryClassLoader

        public MemoryClassLoader​(java.net.URL[] urls)
    • Method Detail

      • addDefinition

        public void addDefinition​(java.lang.String name,
                                  byte[] bytes)
        Add a in-memory representation of a class.
        Parameters:
        name - name of the class
        bytes - class definition
      • findClass

        protected java.lang.Class<?> findClass​(java.lang.String name)
                                        throws java.lang.ClassNotFoundException
        メモリ上からクラスを探す.
        まずURLClassLoaderによるファイルシステム上のクラスのロードを試み,それがなければメモリ上のクラスロードを試す.
        Overrides:
        findClass in class java.net.URLClassLoader
        Throws:
        java.lang.ClassNotFoundException