Annotation Interface ApplicationModule


@Target({PACKAGE,TYPE}) @Retention(RUNTIME) public @interface ApplicationModule
Annotation to customize information of a Modulith module.
Author:
Oliver Drotbohm
  • Field Details

  • Element Details

    • id

      String id
      The identifier of the module. Must not contain a double colon (::).
      Returns:
      will never be null.
      Default:
      ""
    • 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"}
    • type

      Returns:
      will never be null.
      Since:
      1.2
      Default:
      CLOSED