Interface ModuleDescription

All Superinterfaces:
AnnotationSource, ModifierReviewable, ModifierReviewable.ForModuleDescription, NamedElement
All Known Implementing Classes:
ModuleDescription.AbstractBase, ModuleDescription.ForLoadedModule, ModuleDescription.Latent, TypePool.Default.LazyTypeDescription.LazyModuleDescription

public interface ModuleDescription extends NamedElement, ModifierReviewable.ForModuleDescription, AnnotationSource
Description of a named Java java.lang.Module.
  • Field Details

  • Method Details

    • accept

      void accept(org.objectweb.asm.ClassVisitor classVisitor)
      Writes this module description as meta data to the provided ClassVisitor.
      Parameters:
      classVisitor - The class visitor to write to.
    • getVersion

      @MaybeNull String getVersion()
      Returns the version of this module.
      Returns:
      The module's version or null if no version is specified.
    • getMainClass

      @MaybeNull String getMainClass()
      Returns the main class of this module.
      Returns:
      The module's main class or null if no main class is specified.
    • getPackages

      Set<String> getPackages()
      Returns all packages contained in this module.
      Returns:
      A set of all package names within this module.
    • getExports

      Returns all package exports of this module.
      Returns:
      A mapping of package names to their export declarations.
    • getOpens

      Returns all package opens of this module.
      Returns:
      A mapping of package names to their opens declarations.
    • getRequires

      Returns all module dependencies of this module.
      Returns:
      A mapping of module names to their require declarations.
    • getUses

      Set<String> getUses()
      Returns all service types that this module uses.
      Returns:
      A set of service class names that this module uses.
    • getProvides

      Returns all service implementations provided by this module.
      Returns:
      A mapping of service names to their provider declarations.