com.google.inject.spi
Class InterceptorBinding

java.lang.Object
  extended by com.google.inject.spi.InterceptorBinding
All Implemented Interfaces:
Element

public final class InterceptorBinding
extends 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

Method Summary
<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 Class<?>> getClassMatcher()
           
 List<MethodInterceptor> getInterceptors()
           
 Matcher<? super Method> getMethodMatcher()
           
 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
 

Method Detail

getSource

public 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 Class<?>> getClassMatcher()

getMethodMatcher

public Matcher<? super Method> getMethodMatcher()

getInterceptors

public List<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