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  Module.Custom
      Marker for custom scoped modules.
    • Field Summary

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

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      default Class<?>[] autoProvides()
      Return the classes that this module provides that we allow other modules to auto depend on.
      default Class<?>[] autoProvidesAspects()
      Return the aspects that this module provides.
      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).
      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).
      void build​(Builder builder)
      Build all the beans.
      Class<?>[] classes()
      Return public classes of the beans that would be registered by this module.
      default Class<?>[] provides()
      Return the set of types this module explicitly provides to other modules.
      default Class<?>[] requires()
      Return the types this module needs to be provided externally or via other modules.
      default Class<?>[] requiresPackages()
      Return the packages this module needs to be provided via other modules.
    • Method Detail

      • 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().

      • 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.