Class ByteArrayClassLoader


  • public class ByteArrayClassLoader
    extends java.lang.ClassLoader
    This ClassLoader allows for the loading of a set of Java™ classes provided in class file format.
    • Constructor Summary

      Constructors 
      Constructor Description
      ByteArrayClassLoader​(java.util.Map classes)
      The given Map of classes must not be modified afterwards.
      ByteArrayClassLoader​(java.util.Map classes, java.lang.ClassLoader parent)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object o)
      An object is regarded equal to this iff It is also an instance of ByteArrayClassLoader Both have the same parent ClassLoader Exactly the same classes (name, bytecode) were added to both Roughly speaking, equal ByteArrayClassLoaders will return functionally identical Classes on ClassLoader.loadClass(java.lang.String).
      protected java.lang.Class findClass​(java.lang.String name)
      Implements ClassLoader.findClass(String).
      int hashCode()  
      • Methods inherited from class java.lang.ClassLoader

        clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ByteArrayClassLoader

        public ByteArrayClassLoader​(java.util.Map classes)
        The given Map of classes must not be modified afterwards.
        Parameters:
        classes - String className => byte[] data
      • ByteArrayClassLoader

        public ByteArrayClassLoader​(java.util.Map classes,
                                    java.lang.ClassLoader parent)
        See Also:
        ByteArrayClassLoader(Map)
    • Method Detail

      • findClass

        protected java.lang.Class findClass​(java.lang.String name)
                                     throws java.lang.ClassNotFoundException
        Implements ClassLoader.findClass(String).

        Notice that, although nowhere documented, no more than one thread at a time calls this method, because ClassLoader.loadClass(java.lang.String) is synchronized.

        Overrides:
        findClass in class java.lang.ClassLoader
        Throws:
        java.lang.ClassNotFoundException
      • equals

        public boolean equals​(java.lang.Object o)
        An object is regarded equal to this iff
        • It is also an instance of ByteArrayClassLoader
        • Both have the same parent ClassLoader
        • Exactly the same classes (name, bytecode) were added to both
        Roughly speaking, equal ByteArrayClassLoaders will return functionally identical Classes on ClassLoader.loadClass(java.lang.String).
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object