Class DefaultClassFactory

  • All Implemented Interfaces:
    ClassFactory

    final class DefaultClassFactory
    extends java.lang.Object
    implements ClassFactory
    Default class definition factory.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private DefaultClassFactory()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Class<?> defineClass​(java.lang.ClassLoader loader, java.lang.String name, byte[] b, int off, int len, java.security.ProtectionDomain domain)
      Converts an array of bytes into an instance of class Class.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEFINE_CLASS_METHOD_NAME

        private static final java.lang.String DEFINE_CLASS_METHOD_NAME
        See Also:
        Constant Field Values
      • defineClassWithoutDomainParam

        private static final java.lang.invoke.MethodHandle defineClassWithoutDomainParam
      • defineClassWithDomainParam

        private static final java.lang.invoke.MethodHandle defineClassWithDomainParam
    • Constructor Detail

      • DefaultClassFactory

        private DefaultClassFactory()
    • Method Detail

      • defineClass

        public java.lang.Class<?> defineClass​(java.lang.ClassLoader loader,
                                              java.lang.String name,
                                              byte[] b,
                                              int off,
                                              int len,
                                              java.security.ProtectionDomain domain)
                                       throws java.lang.ClassFormatError
        Description copied from interface: ClassFactory
        Converts an array of bytes into an instance of class Class.
        Specified by:
        defineClass in interface ClassFactory
        Parameters:
        loader - The classloader to be used for class definition.
        name - The expected binary name of the class, or null if not known
        b - The bytes that make up the class data. The bytes in positions off through off+len-1 should have the format of a valid class file as defined by The Java™ Virtual Machine Specification.
        off - The start offset in b of the class data
        len - The length of the class data
        domain - The ProtectionDomain of the class
        Returns:
        The Class object that was created from the specified class data.
        Throws:
        java.lang.ClassFormatError - If the data did not contain a valid class