Spec-Zone.ru › OpenJDK 25

Интерфейс ModuleAttribute

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

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

Атрибут был представлен в версии 9 платформы Java SE, старшая версия 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()
Возвращает службы, используемые этим модулем.

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

attributeMapper, attributeName

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

moduleName

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

moduleFlagsMask

int moduleFlagsMask()
Возвращает флаги модуля в виде битовой маски. Значение находится в диапазоне беззнакового 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(Class, 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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/attribute/ModuleAttribute.html

Spec-Zone.ru

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