public final class

Modules

extends Object
java.lang.Object
   ↳ com.google.inject.util.Modules

Class Overview

Static utility methods for creating and working with instances of Module.

Summary

Nested Classes
interface Modules.OverriddenModuleBuilder See the EDSL example at override()
Constants
Module EMPTY_MODULE
Public Methods
static Module combine(Module... modules)
Returns a new module that installs all of modules.
static Module combine(Iterable<? extends Module> modules)
Returns a new module that installs all of modules.
static Modules.OverriddenModuleBuilder override(Module... modules)
Returns a builder that creates a module that overlays override modules over the given modules.
static Modules.OverriddenModuleBuilder override(Iterable<? extends Module> modules)
Returns a builder that creates a module that overlays override modules over the given modules.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final Module EMPTY_MODULE

Public Methods

public static Module combine (Module... modules)

Returns a new module that installs all of modules.

public static Module combine (Iterable<? extends Module> modules)

Returns a new module that installs all of modules.

public static Modules.OverriddenModuleBuilder override (Module... modules)

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 single PrivateModule is supplied or all elements are from a single PrivateBinder, 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

public static Modules.OverriddenModuleBuilder override (Iterable<? extends Module> modules)

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 single PrivateModule is supplied or all elements are from a single PrivateBinder, 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