Class DefaultBindingTargetVisitor<T,​V>

  • Type Parameters:
    V - any type to be returned by the visit method. Use Void with return null if no return type is needed.
    All Implemented Interfaces:
    BindingTargetVisitor<T,​V>

    public abstract class DefaultBindingTargetVisitor<T,​V>
    extends Object
    implements BindingTargetVisitor<T,​V>
    No-op visitor for subclassing. All interface methods simply delegate to visitOther(Binding), returning its result.
    Since:
    2.0
    • Constructor Detail

      • DefaultBindingTargetVisitor

        public DefaultBindingTargetVisitor()
    • Method Detail

      • visitOther

        protected V visitOther​(Binding<? extends T> binding)
        Default visit implementation. Returns null.
      • visit

        public V visit​(InstanceBinding<? extends T> instanceBinding)
        Description copied from interface: BindingTargetVisitor
        Visit a instance binding. The same instance is returned for every injection. This target is found in both module and injector bindings.
        Specified by:
        visit in interface BindingTargetVisitor<T,​V>
      • visit

        public V visit​(ProviderInstanceBinding<? extends T> providerInstanceBinding)
        Description copied from interface: BindingTargetVisitor
        Visit a provider instance binding. The provider's get method is invoked to resolve injections. This target is found in both module and injector bindings.
        Specified by:
        visit in interface BindingTargetVisitor<T,​V>
      • visit

        public V visit​(ProviderKeyBinding<? extends T> providerKeyBinding)
        Description copied from interface: BindingTargetVisitor
        Visit a provider key binding. To resolve injections, the provider key is first resolved, then that provider's get method is invoked. This target is found in both module and injector bindings.
        Specified by:
        visit in interface BindingTargetVisitor<T,​V>
      • visit

        public V visit​(LinkedKeyBinding<? extends T> linkedKeyBinding)
        Description copied from interface: BindingTargetVisitor
        Visit a linked key binding. The other key's binding is used to resolve injections. This target is found in both module and injector bindings.
        Specified by:
        visit in interface BindingTargetVisitor<T,​V>
      • visit

        public V visit​(UntargettedBinding<? extends T> untargettedBinding)
        Description copied from interface: BindingTargetVisitor
        Visit an untargetted binding. This target is found only on module bindings. It indicates that the injector should use its implicit binding strategies to resolve injections.
        Specified by:
        visit in interface BindingTargetVisitor<T,​V>
      • visit

        public V visit​(ConstructorBinding<? extends T> constructorBinding)
        Description copied from interface: BindingTargetVisitor
        Visit a constructor binding. To resolve injections, an instance is instantiated by invoking constructor. This target is found only on injector bindings.
        Specified by:
        visit in interface BindingTargetVisitor<T,​V>
      • visit

        public V visit​(ConvertedConstantBinding<? extends T> convertedConstantBinding)
        Description copied from interface: BindingTargetVisitor
        Visit a binding created from converting a bound instance to a new type. The source binding has the same binding annotation but a different type. This target is found only on injector bindings.
        Specified by:
        visit in interface BindingTargetVisitor<T,​V>