Interface AvajeModule

All Superinterfaces:
InjectExtension
All Known Subinterfaces:
AvajeModule.Custom

public interface AvajeModule extends InjectExtension
A Module containing dependencies that will 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 String[]
    Empty array of strings.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    build(Builder builder)
    Build all the beans.
    Class<?>[]
    Return public classes of the beans that would be registered by this module.
    default String[]
    Return the type(s) of scopes that this module provides
    default String[]
    Return the type names of types this module explicitly provides to other modules.
    default String[]
    Return the type names of types this module needs to be provided externally or via other modules.
    default String[]
    Return the type names of packages this module needs to be provided via other modules.
  • Field Details

  • Method Details

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

      default String[] providesBeans()
      Return the type names of types this module explicitly provides to other modules.
    • definesScopes

      default String[] definesScopes()
      Return the type(s) of scopes that this module provides
    • requiresBeans

      default String[] requiresBeans()
      Return the type names of types this module needs to be provided externally or via other modules.
    • requiresPackagesFromType

      Return the type names of packages this module needs to be provided via other modules.