Class InterceptorStackCallback

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

    final class InterceptorStackCallback
    extends java.lang.Object
    implements java.lang.reflect.InvocationHandler
    Intercepts a method with a stack of interceptors.

    Acts as a JDK InvocationHandler so the proxy using it can avoid Guice-specific types.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.lang.String GUICE_INTERNAL_AOP_PACKAGE  
      (package private) org.aopalliance.intercept.MethodInterceptor[] interceptors  
      (package private) java.lang.reflect.Method method  
      (package private) java.util.function.BiFunction<java.lang.Object,​java.lang.Object[],​java.lang.Object> superInvoker  
    • Constructor Summary

      Constructors 
      Constructor Description
      InterceptorStackCallback​(java.lang.reflect.Method method, java.util.List<org.aopalliance.intercept.MethodInterceptor> interceptors, java.util.function.BiFunction<java.lang.Object,​java.lang.Object[],​java.lang.Object> superInvoker)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object invoke​(java.lang.Object proxy, java.lang.reflect.Method unused, java.lang.Object[] arguments)  
      private void pruneStacktrace​(java.lang.Throwable throwable)
      Removes stacktrace elements related to AOP internal mechanics from the throwable's stack trace and any causes it may have.
      • Methods inherited from class java.lang.Object

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

      • GUICE_INTERNAL_AOP_PACKAGE

        private static final java.lang.String GUICE_INTERNAL_AOP_PACKAGE
        See Also:
        Constant Field Values
      • method

        final java.lang.reflect.Method method
      • interceptors

        final org.aopalliance.intercept.MethodInterceptor[] interceptors
      • superInvoker

        final java.util.function.BiFunction<java.lang.Object,​java.lang.Object[],​java.lang.Object> superInvoker
    • Constructor Detail

      • InterceptorStackCallback

        public InterceptorStackCallback​(java.lang.reflect.Method method,
                                        java.util.List<org.aopalliance.intercept.MethodInterceptor> interceptors,
                                        java.util.function.BiFunction<java.lang.Object,​java.lang.Object[],​java.lang.Object> superInvoker)
    • Method Detail

      • invoke

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

        private void pruneStacktrace​(java.lang.Throwable throwable)
        Removes stacktrace elements related to AOP internal mechanics from the throwable's stack trace and any causes it may have.