Class AbstractTypeMaterializer.MyClassLoader

  • Enclosing class:
    AbstractTypeMaterializer

    static class AbstractTypeMaterializer.MyClassLoader
    extends java.lang.ClassLoader
    To support actual dynamic loading of bytecode we need a simple custom classloader.
    • Constructor Summary

      Constructors 
      Constructor Description
      MyClassLoader​(java.lang.ClassLoader parent)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Class<?> loadAndResolve​(java.lang.String className, byte[] byteCode, java.lang.Class<?> targetClass)  
      • Methods inherited from class java.lang.ClassLoader

        clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, 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, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MyClassLoader

        public MyClassLoader​(java.lang.ClassLoader parent)
    • Method Detail

      • loadAndResolve

        public java.lang.Class<?> loadAndResolve​(java.lang.String className,
                                                 byte[] byteCode,
                                                 java.lang.Class<?> targetClass)
                                          throws java.lang.IllegalArgumentException
        Parameters:
        targetClass - Interface or abstract class that class to load should extend or implement
        Throws:
        java.lang.IllegalArgumentException