Interface ModuleInfo

All Known Implementing Classes:
ModuleInfo.BuilderBase.ModuleInfoImpl

public interface ModuleInfo
Module info.
See Also:
  • Field Details

  • Method Details

    • builder

      static ModuleInfo.Builder builder()
      Create a new fluent API builder to customize configuration.
      Returns:
      a new builder
    • builder

      static ModuleInfo.Builder builder(ModuleInfo instance)
      Create a new fluent API builder from an existing instance.
      Parameters:
      instance - an existing instance used as a base for the builder
      Returns:
      a builder based on an instance
    • name

      String name()
      Name of the module.
      Returns:
      module name
    • isOpen

      boolean isOpen()
      Whether this module is declared as open module.
      Returns:
      whether this module is open
    • requires

      Declared dependencies of the module.
      Returns:
      list of requires
    • exports

      Map<String,List<String>> exports()
      Exports of the module.
      Returns:
      map of exported packages (exports x.y.z to a.b.cSomeModule).
    • uses

      List<TypeName> uses()
      Used service loader providers.
      Returns:
      list of used provider interfaces
    • provides

      Map<TypeName,List<TypeName>> provides()
      Map of provider interfaces to provider implementations provided by this module.
      Returns:
      map of interface to implementations
    • opens

      Map<String,List<String>> opens()
      Map of opened packages to modules (if any).
      Returns:
      map of package to modules
    • firstUnqualifiedExport

      default Optional<String> firstUnqualifiedExport()
      first export that does not export to a specific module (if present).
      Returns:
      package that is exported