Interface ModuleAttribute
- All Superinterfaces:
AttributePREVIEW<ModuleAttributePREVIEW>,ClassElementPREVIEW,ClassFileElementPREVIEW,WritableElementPREVIEW<ModuleAttributePREVIEW>
public sealed interface ModuleAttribute
extends AttributePREVIEW<ModuleAttributePREVIEW>, ClassElementPREVIEW
ModuleAttribute is a preview API of the Java platform.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
Models the
Module attribute 4.7.25, which can
appear on classes that represent module descriptors.
Delivered as a ClassElementPREVIEW when
traversing the elements of a ClassModelPREVIEW.
The attribute does not permit multiple instances in a given location. Subsequent occurrence of the attribute takes precedence during the attributed element build or transformation.
The attribute was introduced in the Java SE Platform version 9.
- Since:
- 22
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfacePreview.A builder for module attributes. -
Method Summary
Modifier and TypeMethodDescriptionexports()Returns the packages exported by this module.default booleanhas(AccessFlag flag) Tests presence of module flagdefault Set<AccessFlag> Returns the the module flags of the module, as a set of enum constants.intReturns the the module flags of the module, as a bit mask.Returns the name of the module.Returns the version of the module, if present.static ModuleAttributePREVIEWof(ModuleEntryPREVIEW moduleName, int moduleFlags, Utf8EntryPREVIEW moduleVersion, Collection<ModuleRequireInfoPREVIEW> requires, Collection<ModuleExportInfoPREVIEW> exports, Collection<ModuleOpenInfoPREVIEW> opens, Collection<ClassEntryPREVIEW> uses, Collection<ModuleProvideInfoPREVIEW> provides) Returns aModuleattribute.static ModuleAttributePREVIEWof(ModuleEntryPREVIEW moduleName, Consumer<ModuleAttribute.ModuleAttributeBuilderPREVIEW> attrHandler) Returns aModuleattribute.static ModuleAttributePREVIEWof(ModuleDesc moduleName, Consumer<ModuleAttribute.ModuleAttributeBuilderPREVIEW> attrHandler) Returns aModuleattribute.opens()Returns the packages opened by this module.provides()Returns the service implementations provided by this module.requires()Returns the modules required by this module.uses()Returns the services used by this module.Methods declared in interface java.lang.classfile.AttributePREVIEW
attributeMapper, attributeNameMethods declared in interface java.lang.classfile.WritableElementPREVIEW
writeTo
-
Method Details
-
moduleName
-
moduleFlagsMask
int moduleFlagsMask()Returns the the module flags of the module, as a bit mask.- Returns:
- the the module flags of the module, as a bit mask
-
moduleFlags
Returns the the module flags of the module, as a set of enum constants.- Returns:
- the the module flags of the module, as a set of enum constants
-
has
Tests presence of module flag- Parameters:
flag- the module flag- Returns:
- true if the flag is set
-
moduleVersion
-
requires
List<ModuleRequireInfoPREVIEW> requires()Returns the modules required by this module.- Returns:
- the modules required by this module
-
exports
List<ModuleExportInfoPREVIEW> exports()Returns the packages exported by this module.- Returns:
- the packages exported by this module
-
opens
List<ModuleOpenInfoPREVIEW> opens()Returns the packages opened by this module.- Returns:
- the packages opened by this module
-
uses
List<ClassEntryPREVIEW> uses()Returns the services used by this module. Services may be discovered viaServiceLoader.- Returns:
- the services used by this module
-
provides
List<ModuleProvideInfoPREVIEW> provides()Returns the service implementations provided by this module.- Returns:
- the service implementations provided by this module
-
of
static ModuleAttributePREVIEW of(ModuleEntryPREVIEW moduleName, int moduleFlags, Utf8EntryPREVIEW moduleVersion, Collection<ModuleRequireInfoPREVIEW> requires, Collection<ModuleExportInfoPREVIEW> exports, Collection<ModuleOpenInfoPREVIEW> opens, Collection<ClassEntryPREVIEW> uses, Collection<ModuleProvideInfoPREVIEW> provides) Returns aModuleattribute.- Parameters:
moduleName- the module namemoduleFlags- the module flagsmoduleVersion- the module versionrequires- the required packagesexports- the exported packagesopens- the opened packagesuses- the consumed servicesprovides- the provided services- Returns:
- a
Moduleattribute
-
of
static ModuleAttributePREVIEW of(ModuleDesc moduleName, Consumer<ModuleAttribute.ModuleAttributeBuilderPREVIEW> attrHandler) Returns aModuleattribute.- Parameters:
moduleName- the module nameattrHandler- a handler that receives aModuleAttribute.ModuleAttributeBuilderPREVIEW- Returns:
- a
Moduleattribute
-
of
static ModuleAttributePREVIEW of(ModuleEntryPREVIEW moduleName, Consumer<ModuleAttribute.ModuleAttributeBuilderPREVIEW> attrHandler) Returns aModuleattribute.- Parameters:
moduleName- the module nameattrHandler- a handler that receives aModuleAttribute.ModuleAttributeBuilderPREVIEW- Returns:
- a
Moduleattribute
-
ModuleAttributewhen preview features are enabled.