Class InterceptorBinding

  • All Implemented Interfaces:
    Element

    public final class InterceptorBinding
    extends java.lang.Object
    implements Element
    Registration of interceptors for matching methods of matching classes. Instances are created explicitly in a module using bindInterceptor() statements:
         bindInterceptor(Matchers.subclassesOf(MyAction.class),
             Matchers.annotatedWith(Transactional.class),
             new MyTransactionInterceptor());
    or from an injectable type listener using TypeEncounter.bindInterceptor().
    Since:
    2.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Matcher<? super java.lang.Class<?>> classMatcher  
      private com.google.common.collect.ImmutableList<org.aopalliance.intercept.MethodInterceptor> interceptors  
      private Matcher<? super java.lang.reflect.Method> methodMatcher  
      private java.lang.Object source  
    • Constructor Summary

      Constructors 
      Constructor Description
      InterceptorBinding​(java.lang.Object source, Matcher<? super java.lang.Class<?>> classMatcher, Matcher<? super java.lang.reflect.Method> methodMatcher, org.aopalliance.intercept.MethodInterceptor[] interceptors)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T> T acceptVisitor​(ElementVisitor<T> visitor)
      Accepts an element visitor.
      void applyTo​(Binder binder)
      Writes this module element to the given binder (optional operation).
      Matcher<? super java.lang.Class<?>> getClassMatcher()  
      java.util.List<org.aopalliance.intercept.MethodInterceptor> getInterceptors()  
      Matcher<? super java.lang.reflect.Method> getMethodMatcher()  
      java.lang.Object getSource()
      Returns an arbitrary object containing information about the "place" where this element was configured.
      • Methods inherited from class java.lang.Object

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

      • source

        private final java.lang.Object source
      • classMatcher

        private final Matcher<? super java.lang.Class<?>> classMatcher
      • methodMatcher

        private final Matcher<? super java.lang.reflect.Method> methodMatcher
      • interceptors

        private final com.google.common.collect.ImmutableList<org.aopalliance.intercept.MethodInterceptor> interceptors
    • Constructor Detail

      • InterceptorBinding

        InterceptorBinding​(java.lang.Object source,
                           Matcher<? super java.lang.Class<?>> classMatcher,
                           Matcher<? super java.lang.reflect.Method> methodMatcher,
                           org.aopalliance.intercept.MethodInterceptor[] interceptors)
    • Method Detail

      • getSource

        public java.lang.Object getSource()
        Description copied from interface: Element
        Returns an arbitrary object containing information about the "place" where this element was configured. Used by Guice in the production of descriptive error messages.

        Tools might specially handle types they know about; StackTraceElement is a good example. Tools should simply call toString() on the source object if the type is unfamiliar.

        Specified by:
        getSource in interface Element
      • getClassMatcher

        public Matcher<? super java.lang.Class<?>> getClassMatcher()
      • getMethodMatcher

        public Matcher<? super java.lang.reflect.Method> getMethodMatcher()
      • getInterceptors

        public java.util.List<org.aopalliance.intercept.MethodInterceptor> getInterceptors()
      • acceptVisitor

        public <T> T acceptVisitor​(ElementVisitor<T> visitor)
        Description copied from interface: Element
        Accepts an element visitor. Invokes the visitor method specific to this element's type.
        Specified by:
        acceptVisitor in interface Element
        Parameters:
        visitor - to call back on
      • applyTo

        public void applyTo​(Binder binder)
        Description copied from interface: Element
        Writes this module element to the given binder (optional operation).
        Specified by:
        applyTo in interface Element
        Parameters:
        binder - to apply configuration element to