Package com.google.inject.spi
Class ProviderLookup<T>
- java.lang.Object
-
- com.google.inject.spi.ProviderLookup<T>
-
- All Implemented Interfaces:
Element
public final class ProviderLookup<T> extends Object implements Element
A lookup of the provider for a type. Lookups are created explicitly in a module usinggetProvider()statements:Provider<PaymentService> paymentServiceProvider = getProvider(PaymentService.class);- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description ProviderLookup(Object source, Key<T> key)ProviderLookup(Object source, Dependency<T> dependency)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> TacceptVisitor(ElementVisitor<T> visitor)Accepts an element visitor.voidapplyTo(Binder binder)Writes this module element to the given binder (optional operation).booleanequals(Object obj)Provider<T>getDelegate()Returns the delegate provider, ornullif it has not yet been initialized.Dependency<T>getDependency()Key<T>getKey()Provider<T>getProvider()Returns the looked up provider.ObjectgetSource()Returns an arbitrary object containing information about the "place" where this element was configured.inthashCode()voidinitializeDelegate(Provider<T> delegate)Sets the actual provider.StringtoString()
-
-
-
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.
-
getDependency
public Dependency<T> getDependency()
- Since:
- 4.0
-
acceptVisitor
public <T> T acceptVisitor(ElementVisitor<T> 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
-
initializeDelegate
public void initializeDelegate(Provider<T> delegate)
Sets the actual provider.- Throws:
IllegalStateException- if the delegate is already set
-
applyTo
public void applyTo(Binder binder)
Description copied from interface:ElementWrites this module element to the given binder (optional operation).
-
getDelegate
public Provider<T> getDelegate()
Returns the delegate provider, ornullif it has not yet been initialized. The delegate will be initialized when this element is processed, or otherwise used to create an injector.
-
getProvider
public Provider<T> getProvider()
Returns the looked up provider. The result is not valid until this lookup has been initialized, which usually happens when the injector is created. The provider will throw anIllegalStateExceptionif you try to use it beforehand.
-
-