Package net.bytebuddy.description.module
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 Javajava.lang.Module.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classModuleDescription.AbstractBaseAn abstract base implementation of aModuleDescription.static interfaceModuleDescription.ExportsRepresents an exported package declaration in a module.static classModuleDescription.ForLoadedModuleAModuleDescriptionimplementation that represents a loaded Java module.static classModuleDescription.LatentA latent description of a module.static interfaceModuleDescription.OpensRepresents an opened package declaration in a module.static interfaceModuleDescription.ProvidesRepresents a service provider declaration in a module.static interfaceModuleDescription.RequiresRepresents a module dependency declaration.-
Nested classes/interfaces inherited from interface net.bytebuddy.description.annotation.AnnotationSource
AnnotationSource.Empty, AnnotationSource.Explicit
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.ModifierReviewable
ModifierReviewable.ForFieldDescription, ModifierReviewable.ForMethodDescription, ModifierReviewable.ForModuleDescription, ModifierReviewable.ForModuleRequirement, ModifierReviewable.ForParameterDescription, ModifierReviewable.ForTypeDefinition, ModifierReviewable.OfAbstraction, ModifierReviewable.OfByteCodeElement, ModifierReviewable.OfEnumeration, ModifierReviewable.OfMandatable
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.NamedElement
NamedElement.WithDescriptor, NamedElement.WithGenericName, NamedElement.WithOptionalName, NamedElement.WithRuntimeName
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringMODULE_CLASS_NAMEThe name of a Java class representing a module description.static ModuleDescriptionUNDEFINEDDefines a module that is not resolved.-
Fields inherited from interface net.bytebuddy.description.ModifierReviewable
EMPTY_MASK
-
Fields inherited from interface net.bytebuddy.description.NamedElement
EMPTY_NAME, NO_NAME
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaccept(org.objectweb.asm.ClassVisitor classVisitor)Writes this module description as meta data to the providedClassVisitor.java.util.Map<java.lang.String,ModuleDescription.Exports>getExports()Returns all package exports of this module.java.lang.StringgetMainClass()Returns the main class of this module.java.util.Map<java.lang.String,ModuleDescription.Opens>getOpens()Returns all package opens of this module.java.util.Set<java.lang.String>getPackages()Returns all packages contained in this module.java.util.Map<java.lang.String,ModuleDescription.Provides>getProvides()Returns all service implementations provided by this module.java.util.Map<java.lang.String,ModuleDescription.Requires>getRequires()Returns all module dependencies of this module.java.util.Set<java.lang.String>getUses()Returns all service types that this module uses.java.lang.StringgetVersion()Returns the version of this module.-
Methods inherited from interface net.bytebuddy.description.annotation.AnnotationSource
getDeclaredAnnotations
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable
getModifiers, getSyntheticState, isFinal, isSynthetic
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable.ForModuleDescription
getOpenness, isOpen
-
Methods inherited from interface net.bytebuddy.description.NamedElement
getActualName
-
-
-
-
Field Detail
-
MODULE_CLASS_NAME
static final java.lang.String MODULE_CLASS_NAME
The name of a Java class representing a module description.- See Also:
- Constant Field Values
-
UNDEFINED
@AlwaysNull static final ModuleDescription UNDEFINED
Defines a module that is not resolved.
-
-
Method Detail
-
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
@MaybeNull java.lang.String getVersion()
Returns the version of this module.- Returns:
- The module's version or
nullif no version is specified.
-
getMainClass
@MaybeNull java.lang.String getMainClass()
Returns the main class of this module.- Returns:
- The module's main class or
nullif no main class is specified.
-
getPackages
java.util.Set<java.lang.String> getPackages()
Returns all packages contained in this module.- Returns:
- A set of all package names within this module.
-
getExports
java.util.Map<java.lang.String,ModuleDescription.Exports> getExports()
Returns all package exports of this module.- Returns:
- A mapping of package names to their export declarations.
-
getOpens
java.util.Map<java.lang.String,ModuleDescription.Opens> getOpens()
Returns all package opens of this module.- Returns:
- A mapping of package names to their opens declarations.
-
getRequires
java.util.Map<java.lang.String,ModuleDescription.Requires> getRequires()
Returns all module dependencies of this module.- Returns:
- A mapping of module names to their require declarations.
-
getUses
java.util.Set<java.lang.String> getUses()
Returns all service types that this module uses.- Returns:
- A set of service class names that this module uses.
-
getProvides
java.util.Map<java.lang.String,ModuleDescription.Provides> getProvides()
Returns all service implementations provided by this module.- Returns:
- A mapping of service names to their provider declarations.
-
-