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()
Fields
public static final 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(Iterable<? extends Module> modules)
Returns a builder that creates a module that overlays override modules over the given modules.
static Modules.OverriddenModuleBuilder override(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

Fields

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 (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

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