Package oracle.dbtools.plugin.api.di

## Interface DependencyInjectionModule

-     public interface DependencyInjectionModule

  A Module is a collection of related services
  Author:
    cdivilly

- - ### Method Summary

    All Methods Static Methods Instance Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default void` | `configureApplicationScope​(ScopeConfiguration scope)` | Enables the module to intercept and enhance the configuration of the `ApplicationScoped` scope
    `default void` | `configureRequestScope​(javax.servlet.http.HttpServletRequest request, ScopeConfiguration scope)` | Enables the module to intercept and enhance the configuration of the `RequestScoped` scope
    `default ModuleDependencies` | `dependencies()` | Enumerate the `DependencyInjectionModule`s that this module depends on
    `static ModuleDependencies` | `requires​(java.lang.Class<? extends DependencyInjectionModule>... dependencies)` |
    `default TypeReflections` | `types()` | Enumerates the service provider types in this module
    `static TypeReflections` | `types​(java.lang.Class<?>... types)` |

- - ### Method Detail

    - #### configureApplicationScope

          default void configureApplicationScope​(ScopeConfiguration scope)

      Enables the module to intercept and enhance the configuration of the `ApplicationScoped` scope
      Parameters:
        `scope` - provides methods to configure the scope

    - #### configureRequestScope

          default void configureRequestScope​(javax.servlet.http.HttpServletRequest request,
                                             ScopeConfiguration scope)

      Enables the module to intercept and enhance the configuration of the `RequestScoped` scope
      Parameters:
        `request` - The `HttpServletRequest` that is being serviced
        `scope` - provides methods to configure the scope

    - #### dependencies

          default ModuleDependencies dependencies()

      Enumerate the `DependencyInjectionModule`s that this module depends on
      Returns:
        ModuleDependencies instance

    - #### types

          default TypeReflections types()

      Enumerates the service provider types in this module
      Returns:
        `TypeReflections` instance enumerating each type in this module that offers a service

    - #### requires

          @SafeVarargs
          static ModuleDependencies requires​(java.lang.Class<? extends DependencyInjectionModule>... dependencies)

    - #### types

          static TypeReflections types​(java.lang.Class<?>... types)