public final class TypeListenerBinding extends java.lang.Object implements Element
Binder.bindListener(Matcher, TypeListener)
statements:
register(only(new TypeLiteral<PaymentService<CreditCard>>() {}), listener);
Modifier and Type | Field and Description |
---|---|
private TypeListener |
listener |
private java.lang.Object |
source |
private Matcher<? super TypeLiteral<?>> |
typeMatcher |
Constructor and Description |
---|
TypeListenerBinding(java.lang.Object source,
TypeListener listener,
Matcher<? super TypeLiteral<?>> typeMatcher) |
Modifier and Type | Method and 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).
|
TypeListener |
getListener()
Returns the registered listener.
|
java.lang.Object |
getSource()
Returns an arbitrary object containing information about the "place" where this element was
configured.
|
Matcher<? super TypeLiteral<?>> |
getTypeMatcher()
Returns the type matcher which chooses which types the listener should be notified of.
|
private final java.lang.Object source
private final Matcher<? super TypeLiteral<?>> typeMatcher
private final TypeListener listener
TypeListenerBinding(java.lang.Object source, TypeListener listener, Matcher<? super TypeLiteral<?>> typeMatcher)
public TypeListener getListener()
public Matcher<? super TypeLiteral<?>> getTypeMatcher()
public java.lang.Object getSource()
Element
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.
public <T> T acceptVisitor(ElementVisitor<T> visitor)
Element
acceptVisitor
in interface Element
visitor
- to call back on