Package com.google.inject.internal
Class ProvidedByInternalFactory<T>
- java.lang.Object
-
- com.google.inject.internal.ProviderInternalFactory<T>
-
- com.google.inject.internal.ProvidedByInternalFactory<T>
-
- All Implemented Interfaces:
DelayedInitialize,InternalFactory<T>
class ProvidedByInternalFactory<T> extends ProviderInternalFactory<T> implements DelayedInitialize
AnInternalFactoryfor @ProvidedBybindings.
-
-
Field Summary
Fields Modifier and Type Field Description private BindingImpl<? extends javax.inject.Provider<T>>providerBindingprivate Key<? extends javax.inject.Provider<T>>providerKeyprivate java.lang.Class<? extends javax.inject.Provider<?>>providerTypeprivate ProvisionListenerStackCallback<T>provisionCallbackprivate java.lang.Class<?>rawType-
Fields inherited from class com.google.inject.internal.ProviderInternalFactory
source
-
-
Constructor Summary
Constructors Constructor Description ProvidedByInternalFactory(java.lang.Class<?> rawType, java.lang.Class<? extends javax.inject.Provider<?>> providerType, Key<? extends javax.inject.Provider<T>> providerKey)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Tget(InternalContext context, Dependency<?> dependency, boolean linked)Creates an object to be injected.voidinitialize(InjectorImpl injector, Errors errors)Initializes this binding, throwing any errors if necessary.protected Tprovision(javax.inject.Provider<? extends T> provider, Dependency<?> dependency, ConstructionContext<T> constructionContext)Provisions a new instance.(package private) voidsetProvisionListenerCallback(ProvisionListenerStackCallback<T> listener)-
Methods inherited from class com.google.inject.internal.ProviderInternalFactory
circularGet
-
-
-
-
Field Detail
-
rawType
private final java.lang.Class<?> rawType
-
providerType
private final java.lang.Class<? extends javax.inject.Provider<?>> providerType
-
providerBinding
private BindingImpl<? extends javax.inject.Provider<T>> providerBinding
-
provisionCallback
private ProvisionListenerStackCallback<T> provisionCallback
-
-
Method Detail
-
setProvisionListenerCallback
void setProvisionListenerCallback(ProvisionListenerStackCallback<T> listener)
-
initialize
public void initialize(InjectorImpl injector, Errors errors) throws ErrorsException
Description copied from interface:DelayedInitializeInitializes this binding, throwing any errors if necessary.- Specified by:
initializein interfaceDelayedInitialize- Throws:
ErrorsException
-
get
public T get(InternalContext context, Dependency<?> dependency, boolean linked) throws InternalProvisionException
Description copied from interface:InternalFactoryCreates an object to be injected.- Specified by:
getin interfaceInternalFactory<T>- Parameters:
context- of this injectionlinked- true if getting as a result of a linked binding- Returns:
- instance that was created
- Throws:
InternalProvisionException- if a value cannot be provided
-
provision
protected T provision(javax.inject.Provider<? extends T> provider, Dependency<?> dependency, ConstructionContext<T> constructionContext) throws InternalProvisionException
Description copied from class:ProviderInternalFactoryProvisions a new instance. Subclasses should override this to catch exceptions & rethrow as ErrorsExceptions.- Overrides:
provisionin classProviderInternalFactory<T>- Throws:
InternalProvisionException
-
-