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 Class<?>[]
    Empty array of classes.
  • Method Summary

    Modifier and Type
    Method
    Description
    default Type[]
    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 Type[]
    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 aspects 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 Type[]
    Return the set of types this module explicitly provides to other modules.
    default Type[]
    Return the types this module needs to be provided externally or via other modules.
    default Type[]
    Return the packages this module needs to be provided via other modules.
  • Field Details

  • Method Details

    • provides

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

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

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

      default Type[] 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 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 provides().

    • autoRequires

      default Type[] 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 requires() or requiresPackages().

    • autoRequiresAspects

      default Class<?>[] autoRequiresAspects()
      These are the aspects 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.