Class TypeListenerBinding

  • All Implemented Interfaces:
    Element

    public final class TypeListenerBinding
    extends Object
    implements Element
    Binds types (picked using a Matcher) to an type listener. Registrations are created explicitly in a module using Binder.bindListener(Matcher, TypeListener) statements:
         register(only(new TypeLiteral<PaymentService<CreditCard>>() {}), listener);
    Since:
    2.0
    • Method Detail

      • getListener

        public TypeListener getListener()
        Returns the registered listener.
      • getTypeMatcher

        public Matcher<? super TypeLiteral<?>> getTypeMatcher()
        Returns the type matcher which chooses which types the listener should be notified of.
      • 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
      • 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