Interface Module

All Known Implementing Classes:
AbstractModule, ActionModule, ClusterModule, GatewayModule, IndicesModule, MapBinder.RealMapBinder, Multibinder.RealMultibinder, PrivateModule, ProviderMethodsModule, SettingsModule

public interface Module
A module contributes configuration information, typically interface bindings, which will be used to create an Injector. A Guice-based application is ultimately composed of little more than a set of Modules and some bootstrapping code.

Your Module classes can use a more streamlined syntax by extending AbstractModule rather than implementing this interface directly.

In addition to the bindings configured via configure(org.elasticsearch.common.inject.Binder), bindings will be created for all methods annotated with @Provides. Use scope and binding annotations on these methods to configure the bindings.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    configure(Binder binder)
    Contributes bindings and other configurations for this module to binder.
  • Method Details

    • configure

      void configure(Binder binder)
      Contributes bindings and other configurations for this module to binder.

      Do not invoke this method directly to install submodules. Instead use Binder.install(Module), which ensures that provider methods are discovered.