Class Plugin

  • All Implemented Interfaces:
    java.lang.reflect.InvocationHandler

    public class Plugin
    extends java.lang.Object
    implements java.lang.reflect.InvocationHandler
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Interceptor interceptor  
      private java.util.Map<java.lang.Class<?>,​java.util.Set<java.lang.reflect.Method>> signatureMap  
      private java.lang.Object target  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Plugin​(java.lang.Object target, Interceptor interceptor, java.util.Map<java.lang.Class<?>,​java.util.Set<java.lang.reflect.Method>> signatureMap)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static java.lang.Class<?>[] getAllInterfaces​(java.lang.Class<?> type, java.util.Map<java.lang.Class<?>,​java.util.Set<java.lang.reflect.Method>> signatureMap)  
      private static java.util.Map<java.lang.Class<?>,​java.util.Set<java.lang.reflect.Method>> getSignatureMap​(Interceptor interceptor)  
      java.lang.Object invoke​(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)  
      static java.lang.Object wrap​(java.lang.Object target, Interceptor interceptor)  
      • Methods inherited from class java.lang.Object

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

      • target

        private final java.lang.Object target
      • signatureMap

        private final java.util.Map<java.lang.Class<?>,​java.util.Set<java.lang.reflect.Method>> signatureMap
    • Constructor Detail

      • Plugin

        private Plugin​(java.lang.Object target,
                       Interceptor interceptor,
                       java.util.Map<java.lang.Class<?>,​java.util.Set<java.lang.reflect.Method>> signatureMap)
    • Method Detail

      • wrap

        public static java.lang.Object wrap​(java.lang.Object target,
                                            Interceptor interceptor)
      • 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
      • getSignatureMap

        private static java.util.Map<java.lang.Class<?>,​java.util.Set<java.lang.reflect.Method>> getSignatureMap​(Interceptor interceptor)
      • getAllInterfaces

        private static java.lang.Class<?>[] getAllInterfaces​(java.lang.Class<?> type,
                                                             java.util.Map<java.lang.Class<?>,​java.util.Set<java.lang.reflect.Method>> signatureMap)