Package com.google.inject.internal
Class LinkedProviderBindingImpl<T>
- java.lang.Object
-
- com.google.inject.internal.BindingImpl<T>
-
- com.google.inject.internal.LinkedProviderBindingImpl<T>
-
- All Implemented Interfaces:
Binding<T>
,DelayedInitialize
,Element
,HasDependencies
,ProviderKeyBinding<T>
final class LinkedProviderBindingImpl<T> extends BindingImpl<T> implements ProviderKeyBinding<T>, HasDependencies, DelayedInitialize
-
-
Field Summary
Fields Modifier and Type Field Description (package private) DelayedInitialize
delayedInitializer
(package private) Key<? extends javax.inject.Provider<? extends T>>
providerKey
-
Constructor Summary
Constructors Modifier Constructor Description LinkedProviderBindingImpl(InjectorImpl injector, Key<T> key, java.lang.Object source, InternalFactory<? extends T> internalFactory, Scoping scoping, Key<? extends javax.inject.Provider<? extends T>> providerKey)
private
LinkedProviderBindingImpl(InjectorImpl injector, Key<T> key, java.lang.Object source, InternalFactory<? extends T> internalFactory, Scoping scoping, Key<? extends javax.inject.Provider<? extends T>> providerKey, DelayedInitialize delayedInitializer)
(package private)
LinkedProviderBindingImpl(java.lang.Object source, Key<T> key, Scoping scoping, Key<? extends javax.inject.Provider<? extends T>> providerKey)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <V> V
acceptTargetVisitor(BindingTargetVisitor<? super T,V> visitor)
Accepts a target visitor.void
applyTo(Binder binder)
Writes this module element to the given binder (optional operation).(package private) static <T> LinkedProviderBindingImpl<T>
createWithInitializer(InjectorImpl injector, Key<T> key, java.lang.Object source, InternalFactory<? extends T> internalFactory, Scoping scoping, Key<? extends javax.inject.Provider<? extends T>> providerKey, DelayedInitialize delayedInitializer)
boolean
equals(java.lang.Object obj)
java.util.Set<Dependency<?>>
getDependencies()
Returns the known dependencies for this type.Key<? extends javax.inject.Provider<? extends T>>
getProviderKey()
Returns the key used to resolve the provider's binding.int
hashCode()
void
initialize(InjectorImpl injector, Errors errors)
Initializes this binding, throwing any errors if necessary.java.lang.String
toString()
BindingImpl<T>
withKey(Key<T> key)
BindingImpl<T>
withScoping(Scoping scoping)
-
Methods inherited from class com.google.inject.internal.BindingImpl
acceptScopingVisitor, acceptVisitor, getInjector, getInternalFactory, getKey, getProvider, getScoping, getSource, isConstant
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.google.inject.Binding
acceptScopingVisitor, getKey, getProvider
-
Methods inherited from interface com.google.inject.spi.Element
acceptVisitor, getSource
-
-
-
-
Field Detail
-
delayedInitializer
final DelayedInitialize delayedInitializer
-
-
Constructor Detail
-
LinkedProviderBindingImpl
private LinkedProviderBindingImpl(InjectorImpl injector, Key<T> key, java.lang.Object source, InternalFactory<? extends T> internalFactory, Scoping scoping, Key<? extends javax.inject.Provider<? extends T>> providerKey, DelayedInitialize delayedInitializer)
-
LinkedProviderBindingImpl
public LinkedProviderBindingImpl(InjectorImpl injector, Key<T> key, java.lang.Object source, InternalFactory<? extends T> internalFactory, Scoping scoping, Key<? extends javax.inject.Provider<? extends T>> providerKey)
-
-
Method Detail
-
createWithInitializer
static <T> LinkedProviderBindingImpl<T> createWithInitializer(InjectorImpl injector, Key<T> key, java.lang.Object source, InternalFactory<? extends T> internalFactory, Scoping scoping, Key<? extends javax.inject.Provider<? extends T>> providerKey, DelayedInitialize delayedInitializer)
-
acceptTargetVisitor
public <V> V acceptTargetVisitor(BindingTargetVisitor<? super T,V> visitor)
Description copied from interface:Binding
Accepts a target visitor. Invokes the visitor method specific to this binding's target.- Specified by:
acceptTargetVisitor
in interfaceBinding<T>
- Parameters:
visitor
- to call back on
-
getProviderKey
public Key<? extends javax.inject.Provider<? extends T>> getProviderKey()
Description copied from interface:ProviderKeyBinding
Returns the key used to resolve the provider's binding. That binding can be retrieved from an injector usingInjector.getBinding(providerKey)
- Specified by:
getProviderKey
in interfaceProviderKeyBinding<T>
-
initialize
public void initialize(InjectorImpl injector, Errors errors) throws ErrorsException
Description copied from interface:DelayedInitialize
Initializes this binding, throwing any errors if necessary.- Specified by:
initialize
in interfaceDelayedInitialize
- Throws:
ErrorsException
-
getDependencies
public java.util.Set<Dependency<?>> getDependencies()
Description copied from interface:HasDependencies
Returns the known dependencies for this type. If this has dependencies whose values are not known statically, a dependency for theInjector
will be included in the returned set.- Specified by:
getDependencies
in interfaceHasDependencies
- Returns:
- a possibly empty set
-
withScoping
public BindingImpl<T> withScoping(Scoping scoping)
- Overrides:
withScoping
in classBindingImpl<T>
-
withKey
public BindingImpl<T> withKey(Key<T> key)
- Overrides:
withKey
in classBindingImpl<T>
-
applyTo
public void applyTo(Binder binder)
Description copied from interface:Element
Writes this module element to the given binder (optional operation).
-
toString
public java.lang.String toString()
- Overrides:
toString
in classBindingImpl<T>
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-