Class JavaDispatcher.DynamicClassLoader

  • Enclosing class:
    JavaDispatcher<T>

    protected static class JavaDispatcher.DynamicClassLoader
    extends java.lang.ClassLoader
    A class loader for loading synthetic classes for implementing a JavaDispatcher.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected static interface  JavaDispatcher.DynamicClassLoader.Resolver
      A resolver to make adjustments that are possibly necessary to withhold module graph guarantees.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.lang.String DUMP_FOLDER
      The dump folder that is defined by the TypeWriter.DUMP_PROPERTY property or null if not set.
      private static java.lang.Object[] NO_ARGUMENT
      Indicates that a constructor does not require any arguments.
      private static java.lang.Class<?>[] NO_PARAMETER
      Indicates that a constructor does not declare any parameters.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected DynamicClassLoader​(java.lang.Class<?> target)
      Creates a new dynamic class loader.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      protected static Invoker invoker()
      Resolves a Invoker for a separate class loader.
      protected static java.lang.Object proxy​(java.lang.Class<?> proxy, java.util.Map<java.lang.reflect.Method,​JavaDispatcher.Dispatcher> dispatchers)
      Creates a new proxied type.
      • 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
    • Field Detail

      • NO_PARAMETER

        private static final java.lang.Class<?>[] NO_PARAMETER
        Indicates that a constructor does not declare any parameters.
      • NO_ARGUMENT

        private static final java.lang.Object[] NO_ARGUMENT
        Indicates that a constructor does not require any arguments.
    • Constructor Detail

      • DynamicClassLoader

        protected DynamicClassLoader​(java.lang.Class<?> target)
        Creates a new dynamic class loader.
        Parameters:
        target - The proxied type.
    • Method Detail

      • proxy

        protected static java.lang.Object proxy​(java.lang.Class<?> proxy,
                                                java.util.Map<java.lang.reflect.Method,​JavaDispatcher.Dispatcher> dispatchers)
        Creates a new proxied type.
        Parameters:
        proxy - The proxy type interface.
        dispatchers - The dispatchers to implement.
        Returns:
        An instance of the proxied type.
      • invoker

        protected static Invoker invoker()
        Resolves a Invoker for a separate class loader.
        Returns:
        The created Invoker.