Top Description Fields Constructors Methods
com.google.inject.internal

pack-priv Class ProvidedByInternalFactory<T>

extends ProviderInternalFactory<T>
implements DelayedInitialize
Class Inheritance
All Implemented Interfaces
com.google.inject.internal.DelayedInitialize
Imports
com.google.inject.Key, .ProvidedBy, com.google.inject.internal.InjectorImpl.JitLimitation, com.google.inject.spi.Dependency, jakarta.inject.Provider

An InternalFactory for @ProvidedBy bindings.
Author
[email protected] (Sam Berlin)

Field Summary

Modifier and TypeField and Description
private BindingImpl<? extends Provider<T>>
private final Key<? extends Provider<T>>
private final Class<? extends Provider<?>>
private ProvisionListenerStackCallback<T>
private final Class<?>
Inherited from com.google.inject.internal.ProviderInternalFactory:
source

Constructor Summary

AccessConstructor and Description
pack-priv
ProvidedByInternalFactory(Class<?> rawType, Class<? extends Provider<?>> providerType, Key<? extends Provider<T>> providerKey)

Method Summary

Modifier and TypeMethod and Description
public T
get(InternalContext
of this injection
context
,
Dependency<?> dependency, boolean
true if getting as a result of a linked binding
linked
)

Implements com.google.inject.internal.InternalFactory.get.

Creates an object to be injected.
public void
initialize(InjectorImpl injector, Errors errors)

Implements com.google.inject.internal.DelayedInitialize.initialize.

Initializes this binding, throwing any errors if necessary.
protected T
provision(Provider<? extends T> provider, Dependency<?> dependency, ConstructionContext<T> constructionContext)

Overrides com.google.inject.internal.ProviderInternalFactory.provision.

Provisions a new instance.
pack-priv void
Inherited from com.google.inject.internal.ProviderInternalFactory:
circularGet

Field Detail

providerBindingback to summary
private BindingImpl<? extends Provider<T>> providerBinding
providerKeyback to summary
private final Key<? extends Provider<T>> providerKey
providerTypeback to summary
private final Class<? extends Provider<?>> providerType
provisionCallbackback to summary
private ProvisionListenerStackCallback<T> provisionCallback
rawTypeback to summary
private final Class<?> rawType

Constructor Detail

ProvidedByInternalFactoryback to summary
pack-priv ProvidedByInternalFactory(Class<?> rawType, Class<? extends Provider<?>> providerType, Key<? extends Provider<T>> providerKey)

Method Detail

getback to summary
public T get(InternalContext context, Dependency<?> dependency, boolean linked) throws InternalProvisionException

Implements com.google.inject.internal.InternalFactory.get.

Doc from com.google.inject.internal.InternalFactory.get.

Creates an object to be injected.

Parameters
context:InternalContext

of this injection

linked:boolean

true if getting as a result of a linked binding

Returns:T

instance that was created

Annotations
@Override
Exceptions
InternalProvisionException:
if a value cannot be provided
initializeback to summary
public void initialize(InjectorImpl injector, Errors errors) throws ErrorsException

Implements com.google.inject.internal.DelayedInitialize.initialize.

Doc from com.google.inject.internal.DelayedInitialize.initialize.

Initializes this binding, throwing any errors if necessary.

Annotations
@Override
provisionback to summary
protected T provision(Provider<? extends T> provider, Dependency<?> dependency, ConstructionContext<T> constructionContext) throws InternalProvisionException

Overrides com.google.inject.internal.ProviderInternalFactory.provision.

Doc from com.google.inject.internal.ProviderInternalFactory.provision.

Provisions a new instance. Subclasses should override this to catch exceptions and rethrow as ErrorsExceptions.

Annotations
@Override
setProvisionListenerCallbackback to summary
pack-priv void setProvisionListenerCallback(ProvisionListenerStackCallback<T> listener)