Class TapirElementListMethodInterceptor

  • All Implemented Interfaces:
    org.aopalliance.aop.Advice, org.aopalliance.intercept.Interceptor, org.aopalliance.intercept.MethodInterceptor

    public class TapirElementListMethodInterceptor
    extends java.lang.Object
    implements org.aopalliance.intercept.MethodInterceptor
    The TapirElementListMethodInterceptor wraps a list of TapirElements. It intercepts the following methods:
    • Iterable.iterator()
    • Iterable.spliterator()
    • Iterable.forEach(Consumer)
    • List.get(int)
    • List.listIterator()
    • List.listIterator(int)
    The interceptor wraps the result of the get method call into a TapirElementMethodInterceptor.
    Since:
    2.0.0
    Author:
    Oliver Libutzki <[email protected]>
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object invoke​(org.aopalliance.intercept.MethodInvocation invocation)  
      protected java.lang.Object invokeReflective​(java.lang.reflect.Method method, java.lang.Object... args)  
      • Methods inherited from class java.lang.Object

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

      • TapirElementListMethodInterceptor

        public TapirElementListMethodInterceptor​(java.util.function.Supplier<java.util.List<TapirElement>> query,
                                                 CacheInvalidator parentCacheInvalidator,
                                                 com.google.common.reflect.TypeToken<?> listElementTypeToken)
    • Method Detail

      • invoke

        public java.lang.Object invoke​(org.aopalliance.intercept.MethodInvocation invocation)
                                throws java.lang.Throwable
        Specified by:
        invoke in interface org.aopalliance.intercept.MethodInterceptor
        Throws:
        java.lang.Throwable
      • invokeReflective

        protected java.lang.Object invokeReflective​(java.lang.reflect.Method method,
                                                    java.lang.Object... args)