Package com.google.inject.spi
Class InjectionRequest<T>
- java.lang.Object
-
- com.google.inject.spi.InjectionRequest<T>
-
- All Implemented Interfaces:
Element
public final class InjectionRequest<T> extends Object implements Element
A request to inject the instance fields and methods of an instance. Requests are created explicitly in a module usingrequestInjection()statements:requestInjection(serviceInstance);- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description InjectionRequest(Object source, TypeLiteral<T> type, T instance)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <R> RacceptVisitor(ElementVisitor<R> visitor)Accepts an element visitor.voidapplyTo(Binder binder)Writes this module element to the given binder (optional operation).booleanequals(Object obj)Set<InjectionPoint>getInjectionPoints()Returns the instance methods and fields ofinstancethat will be injected to fulfill this request.TgetInstance()Returns the instance that injection is being requested on.ObjectgetSource()Returns an arbitrary object containing information about the "place" where this element was configured.TypeLiteral<T>getType()inthashCode()
-
-
-
Constructor Detail
-
InjectionRequest
public InjectionRequest(Object source, TypeLiteral<T> type, T instance)
-
-
Method Detail
-
getSource
public Object getSource()
Description copied from interface:ElementReturns 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;
StackTraceElementis a good example. Tools should simply calltoString()on the source object if the type is unfamiliar.
-
getInstance
public T getInstance()
Returns the instance that injection is being requested on. This may be null for injection requests returned from an Injector, to allow the injector to reclaim memory.
-
getType
public TypeLiteral<T> getType()
-
getInjectionPoints
public Set<InjectionPoint> getInjectionPoints() throws ConfigurationException
Returns the instance methods and fields ofinstancethat 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 ofinstance, such as a field with multiple binding annotations. The exception'spartial valueis aSet<InjectionPoint>of the valid injection points.
-
acceptVisitor
public <R> R acceptVisitor(ElementVisitor<R> visitor)
Description copied from interface:ElementAccepts an element visitor. Invokes the visitor method specific to this element's type.- Specified by:
acceptVisitorin interfaceElement- Parameters:
visitor- to call back on
-
applyTo
public void applyTo(Binder binder)
Description copied from interface:ElementWrites this module element to the given binder (optional operation).
-
-