public class BindingsOverrideInjectorFactory extends java.lang.Object implements InjectorFactory
GuiceBundle.Builder.modulesOverride(Module...) will be enough.
Custom injector factory may be required to override binding, already overridden by modules override feature.
Usage:
bundle.injectorFactory(new BindingsOverrideInjectorFactory())
override(Module...).
Note that factory may be registered using GuiceyConfigurationHook
(in spock or junit extension). Custom modules could be registered with hook too because hook provides a good
integration point before application start.
It is assumed that modules will be registered at the same thread where application will initialize (thread local state used to support parallel testing).
| Constructor and Description |
|---|
BindingsOverrideInjectorFactory() |
| Modifier and Type | Method and Description |
|---|---|
com.google.inject.Injector |
createInjector(com.google.inject.Stage stage,
java.lang.Iterable<? extends com.google.inject.Module> modules)
Creates an injector instance.
|
static void |
override(com.google.inject.Module... modules)
Overriding bindings registration.
|
public com.google.inject.Injector createInjector(com.google.inject.Stage stage,
java.lang.Iterable<? extends com.google.inject.Module> modules)
InjectorFactory
NOTE: if overriding modules were used
(GuiceBundle.Builder.modulesOverride(Module...)) then modules list will
contain only one overridden module. Modules.override(Module...) can be used on
this module too, if required.
createInjector in interface InjectorFactorystage - target injector stage.modules - modules supplied to injectorpublic static void override(com.google.inject.Module... modules)
modules - modules containing overriding bindingsjava.lang.IllegalStateException - if injector was already created to prevent bad usage