Class Multibinder.RealMultibinder<T>
- Enclosing class:
- Multibinder<T>
As a Multibinder, it acts as a factory for LinkedBindingBuilders for each of the set's elements. Each binding is given an annotation that identifies it as a part of this set.
As a Module, it installs the binding to the set itself. As a module, this implements equals() and hashcode() in order to trick Guice into executing its configure() method only once. That makes it so that multiple multibinders can be created for the same target collection, but only one is bound. Since the list of bindings is retrieved from the injector itself (and not the multibinder), each multibinder has access to all contributions from all multibinders.
As a Provider, this constructs the set instances.
We use a subclass to hide 'implements Module, Provider' from the public API.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.common.inject.multibindings.Multibinder
Multibinder.RealMultibinder<T>
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Contributes bindings and other configurations for this module tobinder
.boolean
get()
Provides an instance ofT
.int
hashCode()
void
initialize
(Injector injector) Invoked by Guice at Injector-creation time to prepare providers for each element in this set.toString()
Methods inherited from class org.elasticsearch.common.inject.multibindings.Multibinder
newSetBinder
-
Method Details
-
configure
Description copied from interface:Module
Contributes bindings and other configurations for this module tobinder
.Do not invoke this method directly to install submodules. Instead use
Binder.install(Module)
, which ensures thatprovider methods
are discovered. -
addBinding
-
initialize
Invoked by Guice at Injector-creation time to prepare providers for each element in this set. At this time the set's size is known, but its contents are only evaluated when get() is invoked. -
get
Description copied from interface:Provider
Provides an instance ofT
. Must never returnnull
. -
equals
-
hashCode
public int hashCode() -
toString
-