Package com.google.inject.internal
Class RealMultibinder.RealMultibinderProvider<T>
- java.lang.Object
-
- com.google.inject.internal.InternalProviderInstanceBindingImpl.Factory<ProvidedT>
-
- com.google.inject.internal.RealMultibinder.BaseFactory<T,java.util.Set<T>>
-
- com.google.inject.internal.RealMultibinder.RealMultibinderProvider<T>
-
- All Implemented Interfaces:
InternalFactory<java.util.Set<T>>
,Provider<java.util.Set<T>>
,HasDependencies
,javax.inject.Provider<java.util.Set<T>>
- Enclosing class:
- RealMultibinder<T>
private static final class RealMultibinder.RealMultibinderProvider<T> extends RealMultibinder.BaseFactory<T,java.util.Set<T>>
Provider instance implementation that provides the actual set of values. This is parameterized so it can be used to supply a Setand Set extends T>, the latter being useful for Kotlin support.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.List<Binding<T>>
bindings
(package private) SingleParameterInjector<T>[]
injectors
(package private) boolean
permitDuplicates
-
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
Constructors Constructor Description RealMultibinderProvider(RealMultibinder.BindingSelection<T> bindingSelection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doInitialize()
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 Detail
-
injectors
SingleParameterInjector<T>[] injectors
-
permitDuplicates
boolean permitDuplicates
-
-
Constructor Detail
-
RealMultibinderProvider
RealMultibinderProvider(RealMultibinder.BindingSelection<T> bindingSelection)
-
-
Method Detail
-
doInitialize
protected void doInitialize()
- Specified by:
doInitialize
in classRealMultibinder.BaseFactory<T,java.util.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<java.util.Set<T>>
- Returns:
- instance to be injected
- Throws:
InternalProvisionException
- if a value cannot be provided
-
newNullEntryException
private InternalProvisionException newNullEntryException(int i)
-
newDuplicateValuesException
private InternalProvisionException newDuplicateValuesException(T[] values)
-
-