Интерфейс 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
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Интерфейс | Описание |
|---|---|---|
static interface |
ModuleAttribute.ModuleAttributeBuilder |
Построитель атрибутов Module. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
List |
exports() |
Возвращает пакеты, экспортируемые этим модулем. |
default boolean |
has |
Проверяет наличие флага модуля. |
default Set |
moduleFlags() |
Возвращает флаги модуля в виде набора констант перечисления. |
int |
moduleFlagsMask() |
Возвращает флаги модуля в виде битовой маски. |
ModuleEntry |
moduleName() |
Возвращает имя модуля. |
Optional |
moduleVersion() |
Возвращает версию модуля, если она задана. |
static ModuleAttribute |
of |
Возвращает атрибут Module. |
static ModuleAttribute |
of |
Возвращает атрибут Module. |
static ModuleAttribute |
of |
Возвращает атрибут Module. |
List |
opens() |
Возвращает пакеты, открытые этим модулем. |
List |
provides() |
Возвращает реализации служб, предоставляемые этим модулем. |
List |
requires() |
Возвращает модули, требуемые этим модулем. |
List |
uses() |
Возвращает службы, используемые этим модулем. |
Методы, объявленные в интерфейсе Attribute
attributeMapper, attributeName | Модификатор и тип | Метод | Описание |
|---|---|---|
AttributeMapper |
attributeMapper() |
Возвращает AttributeMapper, связанный с этим атрибутом. |
Utf8Entry |
attributeName() |
Возвращает имя атрибута. |
Подробное описание методов
moduleName
ModuleEntry moduleName()
Возвращает имя модуля.
- Возвращает:
- имя модуля
- См. также:
moduleFlagsMask
int moduleFlagsMask()
Возвращает флаги модуля в виде битовой маски. Это значение типа
u2.- Возвращает:
- флаги модуля в виде битовой маски
- См. также:
moduleFlags
default Set<AccessFlag> moduleFlags()
Возвращает флаги модуля в виде набора констант перечисления.
- Возвращает:
- флаги модуля в виде набора констант перечисления
- Вызывает исключение:
-
IllegalArgumentException— если маска флагов содержит неустановленный допустимый бит - См. также:
has
default boolean has(AccessFlag flag)
Проверяет наличие флага модуля.
- Параметры:
-
flag— флаг модуля - Возвращает:
- true, если флаг установлен
- См. также:
moduleVersion
Optional<Utf8Entry> moduleVersion()
Возвращает версию модуля, если она задана.
- Возвращает:
- версию модуля, если она задана
- См. также:
requires
List<ModuleRequireInfo> requires()
Возвращает модули, требуемые этим модулем.
- Возвращает:
- модули, требуемые этим модулем
- См. также:
exports
List<ModuleExportInfo> exports()
Возвращает пакеты, экспортируемые этим модулем.
- Возвращает:
- пакеты, экспортируемые этим модулем
- См. также:
opens
List<ModuleOpenInfo> opens()
Возвращает пакеты, открытые этим модулем.
- Примечание к API:
- Открытие пакета для другого модуля предоставляет этому модулю такие же полные привилегии доступа, как и участникам данного модуля. Подробнее см.
MethodHandles.privateLookupIn(Class, MethodHandles.Lookup). - Возвращает:
- пакеты, открытые этим модулем
- См. также:
uses
List<ClassEntry> uses()
Возвращает службы, используемые этим модулем. Службы можно обнаружить с помощью
ServiceLoader.- Возвращает:
- службы, используемые этим модулем
- См. также:
provides
List<ModuleProvideInfo> 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 - Вызывает исключение:
-
IllegalArgumentException— еслиmoduleFlagsне являетсяu2или размер любой из коллекций превышает предельное значениеu2
of
static ModuleAttribute of(ModuleDesc moduleName, Consumer<ModuleAttribute.ModuleAttributeBuilder> attrHandler)
Возвращает атрибут
Module.- Параметры:
-
moduleName— имя модуля -
attrHandler— обработчик, получающийModuleAttribute.ModuleAttributeBuilder - Возвращает:
- атрибут
Module - Вызывает исключение:
-
IllegalArgumentException— если информация, полученная от обработчика, превышает ограничение формата файлаclass, например, если размер списка превышает предельное значениеu2
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.