Class MapperProxy<T>

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.reflect.InvocationHandler

    public class MapperProxy<T>
    extends java.lang.Object
    implements java.lang.reflect.InvocationHandler, java.io.Serializable
    See Also:
    Serialized Form
    • Field Detail

      • lookupConstructor

        private static final java.lang.reflect.Constructor<java.lang.invoke.MethodHandles.Lookup> lookupConstructor
      • privateLookupInMethod

        private static final java.lang.reflect.Method privateLookupInMethod
      • mapperInterface

        private final java.lang.Class<T> mapperInterface
    • Method Detail

      • invoke

        public java.lang.Object invoke​(java.lang.Object proxy,
                                       java.lang.reflect.Method method,
                                       java.lang.Object[] args)
                                throws java.lang.Throwable
        Specified by:
        invoke in interface java.lang.reflect.InvocationHandler
        Throws:
        java.lang.Throwable
      • cachedInvoker

        private MapperProxy.MapperMethodInvoker cachedInvoker​(java.lang.reflect.Method method)
                                                       throws java.lang.Throwable
        Throws:
        java.lang.Throwable
      • getMethodHandleJava9

        private java.lang.invoke.MethodHandle getMethodHandleJava9​(java.lang.reflect.Method method)
                                                            throws java.lang.NoSuchMethodException,
                                                                   java.lang.IllegalAccessException,
                                                                   java.lang.reflect.InvocationTargetException
        Throws:
        java.lang.NoSuchMethodException
        java.lang.IllegalAccessException
        java.lang.reflect.InvocationTargetException
      • getMethodHandleJava8

        private java.lang.invoke.MethodHandle getMethodHandleJava8​(java.lang.reflect.Method method)
                                                            throws java.lang.IllegalAccessException,
                                                                   java.lang.InstantiationException,
                                                                   java.lang.reflect.InvocationTargetException
        Throws:
        java.lang.IllegalAccessException
        java.lang.InstantiationException
        java.lang.reflect.InvocationTargetException