public final class ProviderLookup<T> extends java.lang.Object implements Element
getProvider()
statements:
Provider<PaymentService> paymentServiceProvider = getProvider(PaymentService.class);
Constructor and Description |
---|
ProviderLookup(java.lang.Object source,
Dependency<T> dependency) |
ProviderLookup(java.lang.Object source,
Key<T> key) |
Modifier and Type | Method and Description |
---|---|
<T> T |
acceptVisitor(ElementVisitor<T> visitor)
Accepts an element visitor.
|
void |
applyTo(Binder binder)
Writes this module element to the given binder (optional operation).
|
Provider<T> |
getDelegate()
Returns the delegate provider, or
null if it has not yet been initialized. |
Dependency<T> |
getDependency() |
Key<T> |
getKey() |
Provider<T> |
getProvider()
Returns the looked up provider.
|
java.lang.Object |
getSource()
Returns an arbitrary object containing information about the "place" where this element was
configured.
|
void |
initializeDelegate(Provider<T> delegate)
Sets the actual provider.
|
public ProviderLookup(java.lang.Object source, Dependency<T> dependency)
public java.lang.Object getSource()
Element
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.
public Dependency<T> getDependency()
public <T> T acceptVisitor(ElementVisitor<T> visitor)
Element
acceptVisitor
in interface Element
visitor
- to call back onpublic void initializeDelegate(Provider<T> delegate)
java.lang.IllegalStateException
- if the delegate is already setpublic void applyTo(Binder binder)
Element
public Provider<T> getDelegate()
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.