Package org.apache.cayenne.di.spi

## Interface ModuleProvider

- All Known Subinterfaces:
    `CayenneClientModuleProvider`, `CayenneServerModuleProvider`
  All Known Implementing Classes:
    `MainCayenneClientModuleProvider`, `MainCayenneServerModuleProvider`

      public interface ModuleProvider

  Provider of modules used by module auto-loading mechanism to identify and load modules.

  Multiple providers can be created by inheriting from this interface and using it with `ModuleLoader`

  Since:
    4.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Module` | `module()` |
    `Class<? extends Module>` | `moduleType()` |
    `Collection<Class<? extends Module>>` | `overrides()` | Returns an array of module types this module overrides.

- - ### Method Detail

    - #### module

          Module module()

    - #### moduleType

          Class<? extends Module> moduleType()

    - #### overrides

          Collection<Class<? extends Module>> overrides()

      Returns an array of module types this module overrides. Module auto-loading mechanism will ensure module load order that respects overriding preferences.
      Returns:
        a collection of module types this module overrides.