Interface ModulithMetadata

All Known Implementing Classes:
AnnotationModulithMetadata, SpringBootModulithMetadata

public interface ModulithMetadata
Core metadata about the modulithic application.
Author:
Oliver Drotbohm
  • Field Details

  • Method Details

    • of

      static ModulithMetadata of(Class<?> annotated)
      Creates a new ModulithMetadata for the given annotated type. Expects the type either be annotated with Modulith, Modulithic or SpringBootApplication.
      Parameters:
      annotated - must not be null.
      Returns:
      Throws:
      IllegalArgumentException - in case none of the above mentioned annotations is present on the given type.
    • of

      static ModulithMetadata of(String javaPackage)
      Creates a new ModulithMetadata instance for the given package.
      Parameters:
      javaPackage - must not be null or empty.
      Returns:
      will never be null.
    • getModulithSource

      @Deprecated(forRemoval=true) Object getModulithSource()
      Deprecated, for removal: This API element is subject to removal in a future version.
      use getSource() instead.
      Returns the source of the Spring Modulith setup. Either a type or a package.
      Returns:
      will never be null.
    • getSource

      Object getSource()
      Returns the source of the Spring Modulith setup. Either a type or a package.
      Returns:
      will never be null.
    • getAdditionalPackages

      @Deprecated List<String> getAdditionalPackages()
      Deprecated.
      since 1.2, rather use getBasePackages() that includes all packages already.
      Returns the names of the packages that are supposed to be considered modulith base packages, i.e. for which to consider all direct sub-packages modules by default.
      Returns:
      will never be null.
    • useFullyQualifiedModuleNames

      boolean useFullyQualifiedModuleNames()
      Whether to use fully-qualified module names, i.e. rather use the fully-qualified package name instead of the local one.
      Returns:
    • getSharedModuleNames

      Stream<String> getSharedModuleNames()
      Returns the name of shared modules, i.e. modules that are supposed to always be included in bootstraps.
      Returns:
      will never be null.
    • getSystemName

      Optional<String> getSystemName()
      Returns the name of the system.
      Returns:
      will never be null.
    • getBasePackages

      List<String> getBasePackages()
      Returns all base packages of the modulith.
      Returns:
      will never be null.
      Since:
      1.2