Interface Module

All Known Subinterfaces:
Module.Custom

public interface Module
A Module that can be included in BeanScope.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    Marker for custom scoped modules.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Class<?>[]
    Empty array of classes.
  • Method Summary

    Modifier and Type
    Method
    Description
    default Class<?>[]
    Return the classes that this module provides that we allow other modules to auto depend on.
    default Class<?>[]
    Return the aspects that this module provides.
    default Class<?>[]
    These are the classes that this module requires for wiring that are provided by other external modules (that are in the classpath at compile time).
    default Class<?>[]
    These are the apects that this module requires whose implementations are provided by other external modules (that are in the classpath at compile time).
    void
    build(Builder builder)
    Build all the beans.
    Class<?>[]
    Return public classes of the beans that would be registered by this module.
    default Class<?>[]
    Return the set of types this module explicitly provides to other modules.
    default Class<?>[]
    Return the types this module needs to be provided externally or via other modules.
    default Class<?>[]
    Return the packages this module needs to be provided via other modules.
  • Field Details

  • Method Details

    • provides

      default Class<?>[] provides()
      Return the set of types this module explicitly provides to other modules.
    • requires

      default Class<?>[] requires()
      Return the types this module needs to be provided externally or via other modules.
    • requiresPackages

      default Class<?>[] requiresPackages()
      Return the packages this module needs to be provided via other modules.
    • autoProvides

      default Class<?>[] autoProvides()
      Return the classes that this module provides that we allow other modules to auto depend on.

      This is a convenience when using multiple modules that is otherwise controlled manually by explicitly using InjectModule.provides().

    • autoProvidesAspects

      default Class<?>[] autoProvidesAspects()
      Return the aspects that this module provides.

      This is a convenience when using multiple modules that we otherwise manually specify via InjectModule.provides().

    • autoRequires

      default Class<?>[] autoRequires()
      These are the classes that this module requires for wiring that are provided by other external modules (that are in the classpath at compile time).

      This is a convenience when using multiple modules that is otherwise controlled manually by explicitly using InjectModule.requires() or InjectModule.requiresPackages().

    • autoRequiresAspects

      default Class<?>[] autoRequiresAspects()
      These are the apects that this module requires whose implementations are provided by other external modules (that are in the classpath at compile time).
    • classes

      Class<?>[] classes()
      Return public classes of the beans that would be registered by this module.

      This method allows code to use reflection to inspect the modules classes before the module is wired. This method is not required for DI wiring.

    • build

      void build(Builder builder)
      Build all the beans.