Class MembersInjectorLookup<T>

java.lang.Object
com.google.inject.spi.MembersInjectorLookup<T>
All Implemented Interfaces:
Element

public final class MembersInjectorLookup<T> extends Object implements Element
A lookup of the members injector for a type. Lookups are created explicitly in a module using getMembersInjector() statements:
     MembersInjector<PaymentService> membersInjector
         = getMembersInjector(PaymentService.class);
Since:
2.0
Author:
crazybob@google.com (Bob Lee)
  • Constructor Details

    • MembersInjectorLookup

      public MembersInjectorLookup(Object source, TypeLiteral<T> type)
  • Method Details

    • 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
    • getType

      public TypeLiteral<T> getType()
      Gets the type containing the members to be injected.
    • 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
    • initializeDelegate

      public void initializeDelegate(MembersInjector<T> delegate)
      Sets the actual members injector.
      Throws:
      IllegalStateException - if the delegate is already set
    • 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
    • getDelegate

      public MembersInjector<T> getDelegate()
      Returns the delegate members injector, or null if it has not yet been initialized. The delegate will be initialized when this element is processed, or otherwise used to create an injector.
    • getInjectionPoints

      public Set<InjectionPoint> getInjectionPoints() throws ConfigurationException
      Returns the instance methods and fields that will be injected to fulfill this request.
      Returns:
      a possibly empty set of injection points. The set has a specified iteration order. All fields are returned and then all methods. Within the fields, supertype fields are returned before subtype fields. Similarly, supertype methods are returned before subtype methods.
      Throws:
      ConfigurationException - if there is a malformed injection point on the class of instance, such as a field with multiple binding annotations. The exception's partial value is a Set<InjectionPoint> of the valid injection points.
      Since:
      4.2.3
    • getMembersInjector

      public MembersInjector<T> getMembersInjector()
      Returns the looked up members injector. The result is not valid until this lookup has been initialized, which usually happens when the injector is created. The members injector will throw an IllegalStateException if you try to use it beforehand.
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object