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.-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classAn abstract base implementation of aModuleDescription.static interfaceRepresents an exported package declaration in a module.static classAModuleDescriptionimplementation that represents a loaded Java module.static classA latent description of a module.static interfaceRepresents an opened package declaration in a module.static interfaceRepresents a service provider declaration in a module.static interfaceRepresents a module dependency declaration.Nested classes/interfaces inherited from interface AnnotationSource
AnnotationSource.Empty, AnnotationSource.ExplicitNested classes/interfaces inherited from interface ModifierReviewable
ModifierReviewable.ForFieldDescription, ModifierReviewable.ForMethodDescription, ModifierReviewable.ForModuleDescription, ModifierReviewable.ForModuleRequirement, ModifierReviewable.ForParameterDescription, ModifierReviewable.ForTypeDefinition, ModifierReviewable.OfAbstraction, ModifierReviewable.OfByteCodeElement, ModifierReviewable.OfEnumeration, ModifierReviewable.OfMandatableNested classes/interfaces inherited from interface NamedElement
NamedElement.WithDescriptor, NamedElement.WithGenericName, NamedElement.WithOptionalName, NamedElement.WithRuntimeName -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe name of a Java class representing a module description.static final ModuleDescriptionDefines a module that is not resolved.Fields inherited from interface ModifierReviewable
EMPTY_MASKFields inherited from interface NamedElement
EMPTY_NAME, NO_NAME -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(org.objectweb.asm.ClassVisitor classVisitor) Writes this module description as meta data to the providedClassVisitor.Returns all package exports of this module.Returns the main class of this module.getOpens()Returns all package opens of this module.Returns all packages contained in this module.Returns all service implementations provided by this module.Returns all module dependencies of this module.getUses()Returns all service types that this module uses.Returns the version of this module.Methods inherited from interface AnnotationSource
getDeclaredAnnotationsMethods inherited from interface ModifierReviewable
getModifiers, getSyntheticState, isFinal, isSyntheticMethods inherited from interface ModifierReviewable.ForModuleDescription
getOpenness, isOpenMethods inherited from interface NamedElement
getActualName
-
Field Details
-
MODULE_CLASS_NAME
The name of a Java class representing a module description.- See Also:
-
UNDEFINED
Defines a module that is not resolved.
-
-
Method Details
-
accept
void accept(org.objectweb.asm.ClassVisitor classVisitor) Writes this module description as meta data to the providedClassVisitor.- Parameters:
classVisitor- The class visitor to write to.
-
getVersion
Returns the version of this module.- Returns:
- The module's version or
nullif no version is specified.
-
getMainClass
Returns the main class of this module.- Returns:
- The module's main class or
nullif no main class is specified.
-
getPackages
-
getExports
Map<String, ModuleDescription.Exports> getExports()Returns all package exports of this module.- Returns:
- A mapping of package names to their export declarations.
-
getOpens
Map<String, ModuleDescription.Opens> getOpens()Returns all package opens of this module.- Returns:
- A mapping of package names to their opens declarations.
-
getRequires
Map<String, ModuleDescription.Requires> getRequires()Returns all module dependencies of this module.- Returns:
- A mapping of module names to their require declarations.
-
getUses
-
getProvides
Map<String, ModuleDescription.Provides> getProvides()Returns all service implementations provided by this module.- Returns:
- A mapping of service names to their provider declarations.
-