Annotation Interface ApplicationModule


@Target({PACKAGE,ANNOTATION_TYPE}) @Retention(RUNTIME) public @interface ApplicationModule
Annotation to customize information of a Modulith module.
Author:
Oliver Drotbohm
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    List the names of modules that the module is allowed to depend on.
    The human readable name of the module to be used for display and documentation purposes.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
  • Field Details

  • Element Details

    • displayName

      String displayName
      The human readable name of the module to be used for display and documentation purposes.
      Returns:
      will never be null.
      Default:
      ""
    • allowedDependencies

      String[] allowedDependencies
      List the names of modules that the module is allowed to depend on. Shared modules defined in Modulith/Modulithic will be allowed, too. Names listed are local ones, unless the application has configured Modulithic.useFullyQualifiedModuleNames() to true. Explicit references to NamedInterfaces need to be separated by a double colon ::, e.g. module::API if module is the logical module name and API is the name of the named interface.

      Declaring an empty array will allow no dependencies to other modules. To not restrict the dependencies at all, leave the attribute at its default value.

      Returns:
      will never be null.
      See Also:
      Default:
      {"\u00af\\_(\u30c4)_/\u00af"}