Package net.bytebuddy.description.module
Class ModuleDescription.ForLoadedModule
- java.lang.Object
-
- net.bytebuddy.description.ModifierReviewable.AbstractBase
-
- net.bytebuddy.description.module.ModuleDescription.AbstractBase
-
- net.bytebuddy.description.module.ModuleDescription.ForLoadedModule
-
- All Implemented Interfaces:
AnnotationSource,ModifierReviewable,ModifierReviewable.ForFieldDescription,ModifierReviewable.ForMethodDescription,ModifierReviewable.ForModuleDescription,ModifierReviewable.ForModuleRequirement,ModifierReviewable.ForParameterDescription,ModifierReviewable.ForTypeDefinition,ModifierReviewable.OfAbstraction,ModifierReviewable.OfByteCodeElement,ModifierReviewable.OfEnumeration,ModifierReviewable.OfMandatable,ModuleDescription,NamedElement
- Enclosing interface:
- ModuleDescription
public static class ModuleDescription.ForLoadedModule extends ModuleDescription.AbstractBase
AModuleDescriptionimplementation that represents a loaded Java module. This implementation uses reflection and Java dispatchers to access module information from the runtime module system.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interfaceModuleDescription.ForLoadedModule.ModuleA proxy for interacting withjava.lang.Module.protected static interfaceModuleDescription.ForLoadedModule.ModuleDescriptorA proxy for interacting withjava.lang.ModuleDescriptor.protected static interfaceModuleDescription.ForLoadedModule.OptionalA proxy for interacting withjava.util.Optional.-
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.AbstractBase, 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.module.ModuleDescription
ModuleDescription.AbstractBase, ModuleDescription.Exports, ModuleDescription.ForLoadedModule, ModuleDescription.Latent, ModuleDescription.Opens, ModuleDescription.Provides, ModuleDescription.Requires
-
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 private java.lang.reflect.AnnotatedElementmoduleThe module represented by this description.protected static ModuleDescription.ForLoadedModule.ModuleMODULEA dispatcher for accessingjava.lang.Modulemethods.protected static ModuleDescription.ForLoadedModule.ModuleDescriptorMODULE_DESCRIPTORA dispatcher for accessingjava.lang.ModuleDescriptormethods.protected static ModuleDescription.ForLoadedModule.ModuleDescriptor.ExportsMODULE_DESCRIPTOR_EXPORTSA dispatcher for accessingjava.lang.ModuleDescriptor.Exportsmethods.protected static ModuleDescription.ForLoadedModule.ModuleDescriptor.OpensMODULE_DESCRIPTOR_OPENSA dispatcher for accessingjava.lang.ModuleDescriptor.Opensmethods.protected static ModuleDescription.ForLoadedModule.ModuleDescriptor.ProvidesMODULE_DESCRIPTOR_PROVIDESA dispatcher for accessingjava.lang.ModuleDescriptor.Providesmethods.protected static ModuleDescription.ForLoadedModule.ModuleDescriptor.RequiresMODULE_DESCRIPTOR_REQUIRESA dispatcher for accessingjava.lang.ModuleDescriptor.Requiresmethods.protected static ModuleDescription.ForLoadedModule.OptionalOPTIONALA dispatcher for accessingjava.util.Optionalmethods.-
Fields inherited from interface net.bytebuddy.description.ModifierReviewable
EMPTY_MASK
-
Fields inherited from interface net.bytebuddy.description.module.ModuleDescription
MODULE_CLASS_NAME, UNDEFINED
-
Fields inherited from interface net.bytebuddy.description.NamedElement
EMPTY_NAME, NO_NAME
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedForLoadedModule(java.lang.reflect.AnnotatedElement module)Creates a new module description for the supplied module.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static <T> TdoPrivileged(java.security.PrivilegedAction<T> action)A proxy forjava.security.AccessController#doPrivilegedthat is activated if available.java.lang.StringgetActualName()Returns the display name of this element as it is found in the source code.AnnotationListgetDeclaredAnnotations()Returns a list of annotations that are declared by this instance.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.intgetModifiers()Returns the modifier that is described by this object.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.booleanisOpen()Returnstrueif the module is open.static ModuleDescriptionof(java.lang.Object module)Creates a module description for the supplied module.-
Methods inherited from class net.bytebuddy.description.module.ModuleDescription.AbstractBase
accept, equals, hashCode, toString
-
Methods inherited from class net.bytebuddy.description.ModifierReviewable.AbstractBase
getEnumerationState, getFieldManifestation, getFieldPersistence, getMandate, getMethodManifestation, getMethodStrictness, getOpenness, getOwnership, getParameterManifestation, getProvisioningState, getRequiredPhase, getSynchronizationState, getSyntheticState, getTransitivity, getTypeManifestation, getVisibility, isAbstract, isAnnotation, isBridge, isDeprecated, isEnum, isFinal, isInterface, isMandated, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStaticPhase, isStrict, isSynchronized, isSynthetic, isTransient, isTransitive, isVarArgs, isVolatile
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable
getSyntheticState, isFinal, isSynthetic
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable.ForModuleDescription
getOpenness
-
-
-
-
Field Detail
-
MODULE
protected static final ModuleDescription.ForLoadedModule.Module MODULE
A dispatcher for accessingjava.lang.Modulemethods.
-
MODULE_DESCRIPTOR
protected static final ModuleDescription.ForLoadedModule.ModuleDescriptor MODULE_DESCRIPTOR
A dispatcher for accessingjava.lang.ModuleDescriptormethods.
-
MODULE_DESCRIPTOR_EXPORTS
protected static final ModuleDescription.ForLoadedModule.ModuleDescriptor.Exports MODULE_DESCRIPTOR_EXPORTS
A dispatcher for accessingjava.lang.ModuleDescriptor.Exportsmethods.
-
MODULE_DESCRIPTOR_OPENS
protected static final ModuleDescription.ForLoadedModule.ModuleDescriptor.Opens MODULE_DESCRIPTOR_OPENS
A dispatcher for accessingjava.lang.ModuleDescriptor.Opensmethods.
-
MODULE_DESCRIPTOR_REQUIRES
protected static final ModuleDescription.ForLoadedModule.ModuleDescriptor.Requires MODULE_DESCRIPTOR_REQUIRES
A dispatcher for accessingjava.lang.ModuleDescriptor.Requiresmethods.
-
MODULE_DESCRIPTOR_PROVIDES
protected static final ModuleDescription.ForLoadedModule.ModuleDescriptor.Provides MODULE_DESCRIPTOR_PROVIDES
A dispatcher for accessingjava.lang.ModuleDescriptor.Providesmethods.
-
OPTIONAL
protected static final ModuleDescription.ForLoadedModule.Optional OPTIONAL
A dispatcher for accessingjava.util.Optionalmethods.
-
module
private final java.lang.reflect.AnnotatedElement module
The module represented by this description.
-
-
Method Detail
-
of
public static ModuleDescription of(java.lang.Object module)
Creates a module description for the supplied module.- Parameters:
module- The module to represent.- Returns:
- A module description for the supplied module.
- Throws:
java.lang.IllegalArgumentException- If the supplied instance is not a module or if the module is unnamed.
-
doPrivileged
@Enhance private static <T> T doPrivileged(java.security.PrivilegedAction<T> action)
A proxy forjava.security.AccessController#doPrivilegedthat is activated if available.- Type Parameters:
T- The type of the action's resolved value.- Parameters:
action- The action to execute from a privileged context.- Returns:
- The action's resolved value.
-
getVersion
@MaybeNull public java.lang.String getVersion()
Returns the version of this module.- Returns:
- The module's version or
nullif no version is specified.
-
getMainClass
@MaybeNull public java.lang.String getMainClass()
Returns the main class of this module.- Returns:
- The module's main class or
nullif no main class is specified.
-
isOpen
public boolean isOpen()
Returnstrueif the module is open.- Specified by:
isOpenin interfaceModifierReviewable.ForModuleDescription- Overrides:
isOpenin classModifierReviewable.AbstractBase- Returns:
trueif the module is open.
-
getPackages
public java.util.Set<java.lang.String> getPackages()
Returns all packages contained in this module.- Returns:
- A set of all package names within this module.
-
getUses
public 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.
-
getExports
public 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
public 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
public 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.
-
getProvides
public 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.
-
getModifiers
public int getModifiers()
Returns the modifier that is described by this object.- Returns:
- The modifier that is described by this object.
-
getActualName
public java.lang.String getActualName()
Returns the display name of this element as it is found in the source code. If no such name exists, an empty string is returned.- Returns:
- The name of this element as given in a Java program's source code.
-
getDeclaredAnnotations
public AnnotationList getDeclaredAnnotations()
Returns a list of annotations that are declared by this instance.- Returns:
- A list of declared annotations.
-
-