Package com.google.inject.util
Class Modules
java.lang.Object
com.google.inject.util.Modules
Static utility methods for creating and working with instances of
Module
.- Since:
- 2.0
- Author:
- jessewilson@google.com (Jesse Wilson)
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic Module
combine()
Deprecated.this method call is effectively a no-op, just remove it.static Module
Deprecated.there's no need to "combine" one module; just install it directly.static Module
Returns a new module that installs all ofmodules
.static Module
Returns a new module that installs all ofmodules
.static Module
Returns a module that will configure the injector to disable circular proxies.override()
Deprecated.there's no reason to useModules.override()
without any arguments.Returns a builder that creates a module that overlays override modules over the given modules.Returns a builder that creates a module that overlays override modules over the given modules.static Module
Returns a module that will configure the injector to require @invalid reference
Inject
static Module
Returns a module that will configure the injector to require an exactly matching binding annotation.static Module
Returns a module that will configure the injector to require explicit bindings.
-
Field Details
-
EMPTY_MODULE
-
-
Method Details
-
override
Returns a builder that creates a module that overlays override modules over the given modules. If a key is bound in both sets of modules, only the binding from the override modules is kept. If a singlePrivateModule
is supplied or all elements are from a singlePrivateBinder
, then this will overwrite the private bindings. Otherwise, private bindings will not be overwritten unless they are exposed. This can be used to replace the bindings of a production module with test bindings:Module functionalTestModule = Modules.override(new ProductionModule()).with(new TestModule());
Prefer to write smaller modules that can be reused and tested without overrides.
- Parameters:
modules
- the modules whose bindings are open to be overridden
-
override
Deprecated.there's no reason to useModules.override()
without any arguments. -
override
Returns a builder that creates a module that overlays override modules over the given modules. If a key is bound in both sets of modules, only the binding from the override modules is kept. If a singlePrivateModule
is supplied or all elements are from a singlePrivateBinder
, then this will overwrite the private bindings. Otherwise, private bindings will not be overwritten unless they are exposed. This can be used to replace the bindings of a production module with test bindings:Module functionalTestModule = Modules.override(getProductionModules()).with(getTestModules());
Prefer to write smaller modules that can be reused and tested without overrides.
- Parameters:
modules
- the modules whose bindings are open to be overridden
-
combine
Returns a new module that installs all ofmodules
.Although sometimes helpful, this method is rarely necessary. Most Guice APIs accept multiple arguments or (like
install()
) can be called repeatedly. Where possible, external APIs that require a single module should similarly be adapted to permit multiple modules. -
combine
Deprecated.there's no need to "combine" one module; just install it directly. -
combine
Deprecated.this method call is effectively a no-op, just remove it. -
combine
Returns a new module that installs all ofmodules
.Although sometimes helpful, this method is rarely necessary. Most Guice APIs accept multiple arguments or (like
install()
) can be called repeatedly. Where possible, external APIs that require a single module should similarly be adapted to permit multiple modules. -
requireExplicitBindingsModule
Returns a module that will configure the injector to require explicit bindings.- Since:
- 4.2.3
-
requireAtInjectOnConstructorsModule
Returns a module that will configure the injector to require @invalid reference
Inject
- Since:
- 4.2.3
- See Also:
-
requireExactBindingAnnotationsModule
Returns a module that will configure the injector to require an exactly matching binding annotation.- Since:
- 4.2.3
- See Also:
-
disableCircularProxiesModule
Returns a module that will configure the injector to disable circular proxies.- Since:
- 4.2.3
-