Package com.google.inject.internal
Class RealMultibinder.RealMultibinderProvider<T>
java.lang.Object
com.google.inject.internal.InternalProviderInstanceBindingImpl.Factory<Set<T>>
com.google.inject.internal.RealMultibinder.BaseFactory<T,Set<T>>
com.google.inject.internal.RealMultibinder.RealMultibinderProvider<T>
- All Implemented Interfaces:
InternalFactory<Set<T>>
,Provider<Set<T>>
,HasDependencies
,javax.inject.Provider<Set<T>>
- Enclosing class:
RealMultibinder<T>
private static final class RealMultibinder.RealMultibinderProvider<T>
extends RealMultibinder.BaseFactory<T,Set<T>>
Provider instance implementation that provides the actual set of values. This is parameterized
so it can be used to supply a Set and Setinvalid input: '<'? extends T>, the latter being useful for Kotlin
support.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) SingleParameterInjector<T>[]
(package private) boolean
Fields inherited from class com.google.inject.internal.RealMultibinder.BaseFactory
bindingSelection, dependenciesFn
Fields inherited from class com.google.inject.internal.InternalProviderInstanceBindingImpl.Factory
provisionCallback
-
Constructor Summary
ConstructorsConstructorDescriptionRealMultibinderProvider
(RealMultibinder.BindingSelection<T> bindingSelection) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected com.google.common.collect.ImmutableSet
<T> doProvision
(InternalContext context, Dependency<?> dependency) Creates an object to be injected.private InternalProvisionException
newDuplicateValuesException
(T[] values) private InternalProvisionException
newNullEntryException
(int i) Methods inherited from class com.google.inject.internal.RealMultibinder.BaseFactory
equals, getDependencies, hashCode, initialize
Methods inherited from class com.google.inject.internal.InternalProviderInstanceBindingImpl.Factory
get, get, getSource
-
Field Details
-
bindings
-
injectors
SingleParameterInjector<T>[] injectors -
permitDuplicates
boolean permitDuplicates
-
-
Constructor Details
-
RealMultibinderProvider
RealMultibinderProvider(RealMultibinder.BindingSelection<T> bindingSelection)
-
-
Method Details
-
doInitialize
protected void doInitialize()- Specified by:
doInitialize
in classRealMultibinder.BaseFactory<T,
Set<T>>
-
doProvision
protected com.google.common.collect.ImmutableSet<T> doProvision(InternalContext context, Dependency<?> dependency) throws InternalProvisionException Description copied from class:InternalProviderInstanceBindingImpl.Factory
Creates an object to be injected.- Specified by:
doProvision
in classInternalProviderInstanceBindingImpl.Factory<Set<T>>
- Returns:
- instance to be injected
- Throws:
InternalProvisionException
- if a value cannot be provided
-
newNullEntryException
-
newDuplicateValuesException
-