Spec-Zone.ru › OpenJDK 24

Интерфейс ModuleAttribute

Все суперинтерфейсы:
Attribute<ModuleAttribute>, ClassElement, ClassFileElement
public sealed interface ModuleAttribute extends Attribute<ModuleAttribute>, ClassElement
Моделирует атрибут модуля (JVMS 4.7.25), который всегда присутствует в классах, представляющих дескрипторы модулей.

Этот атрибут присутствует только в классах и не допускает несколько экземпляров в классе. Он зависит от константного пула.

Атрибут был введён в Java SE Platform версии 9, основной версии 53.

См. Спецификацию виртуальной машины Java:
4.7.25 Атрибут Module
С версии:
24
См. также:
  • Attributes.module()
  • ModuleDescriptor

Краткое описание вложенных классов

Модификатор и тип Интерфейс Описание
static interface  ModuleAttribute.ModuleAttributeBuilder
Построитель атрибутов Module.

Краткое описание методов

Модификатор и тип Метод Описание
List<ModuleExportInfo> exports()
Возвращает пакеты, экспортируемые этим модулем.
default boolean has(AccessFlag flag)
Проверяет наличие флага модуля.
default Set<AccessFlag> moduleFlags()
Возвращает флаги модуля в виде набора констант перечислений.
int moduleFlagsMask()
Возвращает флаги модуля в виде битовой маски.
ModuleEntry moduleName()
Возвращает имя модуля.
Optional<Utf8Entry> moduleVersion()
Возвращает версию модуля, если она присутствует.
static ModuleAttribute of(ModuleEntry moduleName, int moduleFlags, Utf8Entry moduleVersion, Collection<ModuleRequireInfo> requires, Collection<ModuleExportInfo> exports, Collection<ModuleOpenInfo> opens, Collection<ClassEntry> uses, Collection<ModuleProvideInfo> provides)
Возвращает атрибут Module.
static ModuleAttribute of(ModuleEntry moduleName, Consumer<ModuleAttribute.ModuleAttributeBuilder> attrHandler)
Возвращает атрибут Module.
static ModuleAttribute of(ModuleDesc moduleName, Consumer<ModuleAttribute.ModuleAttributeBuilder> attrHandler)
Возвращает атрибут Module.
List<ModuleOpenInfo> opens()
Возвращает пакеты, открытые этим модулем.
List<ModuleProvideInfo> provides()
Возвращает реализации сервисов, предоставляемые этим модулем.
List<ModuleRequireInfo> requires()
Возвращает модули, необходимые этому модулю.
List<ClassEntry> uses()
Возвращает сервисы, используемые этим модулем.

Методы, объявленные в интерфейсе java.lang.classfile.Attribute

attributeMapper, attributeName

Подробное описание методов

moduleName

ModuleEntry moduleName()
Возвращает имя модуля.
Возвращает:
имя модуля
См. также:
  • ModuleDescriptor.name()

moduleFlagsMask

int moduleFlagsMask()
Возвращает флаги модуля в виде битовой маски. Значение находится в диапазоне unsigned short, [0, 0xFFFF].
Возвращает:
флаги модуля в виде битовой маски
См. также:
  • ModuleDescriptor.modifiers()
  • AccessFlag.Location.MODULE

moduleFlags

default Set<AccessFlag> moduleFlags()
Возвращает флаги модуля в виде набора констант перечисления.
Возвращает:
флаги модуля в виде набора констант перечисления
Имеет исключение:
IllegalArgumentException - если в маске флагов установлен какой-либо неопределённый бит
См. также:
  • ModuleDescriptor.accessFlags()
  • AccessFlag.Location.MODULE

has

default boolean has(AccessFlag flag)
Проверяет наличие флага модуля.
Параметры:
flag - флаг модуля
Возвращает:
true, если флаг установлен
См. также:
  • AccessFlag.Location.MODULE

moduleVersion

Optional<Utf8Entry> moduleVersion()
Возвращает версию модуля, если она присутствует.
Возвращает:
версия модуля, если она присутствует
См. также:
  • ModuleDescriptor.version()

requires

List<ModuleRequireInfo> requires()
Возвращает модули, необходимые для данного модуля.
Возвращает:
модули, необходимые для данного модуля
См. также:
  • ModuleDescriptor.requires()

exports

List<ModuleExportInfo> exports()
Возвращает пакеты, экспортируемые этим модулем.
Возвращает:
пакеты, экспортируемые этим модулем
См. также:
  • ModuleDescriptor.packages()

opens

List<ModuleOpenInfo> opens()
Возвращает пакеты, открытые этим модулем.
Примечание API:
Открытие пакета другому модулю позволяет этому модулю получить тот же полный доступ к привилегиям, что и членам данного модуля. Подробнее см. MethodHandles.privateLookupIn(java.lang.Class<?>, java.lang.invoke.MethodHandles.Lookup).
Возвращает:
пакеты, открытые этим модулем
См. также:
  • ModuleDescriptor.opens()

uses

List<ClassEntry> uses()
Возвращает сервисы, используемые данным модулем. Сервисы могут быть обнаружены с помощью ServiceLoader.
Возвращает:
сервисы, используемые этим модулем
См. также:
  • ModuleDescriptor.uses()

provides

List<ModuleProvideInfo> provides()
Возвращает реализации сервисов, предоставляемые этим модулем.
Возвращает:
реализации сервисов, предоставляемые этим модулем
См. также:
  • ModuleDescriptor.provides()

of

static ModuleAttribute of(ModuleEntry moduleName, int moduleFlags, Utf8Entry moduleVersion, Collection<ModuleRequireInfo> requires, Collection<ModuleExportInfo> exports, Collection<ModuleOpenInfo> opens, Collection<ClassEntry> uses, Collection<ModuleProvideInfo> provides)
Возвращает атрибут Module.
Параметры:
moduleName - имя модуля
moduleFlags - флаги модуля
moduleVersion - версия модуля, может быть null
requires - необходимые пакеты
exports - экспортированные пакеты
opens - открытые пакеты
uses - потребляемые сервисы
provides - предоставленные сервисы
Возвращает:
атрибут Module

of

static ModuleAttribute of(ModuleDesc moduleName, Consumer<ModuleAttribute.ModuleAttributeBuilder> attrHandler)
Возвращает атрибут Module.
Параметры:
moduleName - имя модуля
attrHandler - обработчик, который получает ModuleAttribute.ModuleAttributeBuilder
Возвращает:
атрибут Module

of

static ModuleAttribute of(ModuleEntry moduleName, Consumer<ModuleAttribute.ModuleAttributeBuilder> attrHandler)
Возвращает атрибут Module.
Параметры:
moduleName - имя модуля
attrHandler - обработчик, который получает ModuleAttribute.ModuleAttributeBuilder
Возвращает:
атрибут Module

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/attribute/ModuleAttribute.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API