Класс ModuleDescriptor.Builder
- Внешний класс:
ModuleDescriptor
public static final class ModuleDescriptor.Builder extends Object
ModuleDescriptor. ModuleDescriptor содержит методы newModule, newOpenModule и newAutomaticModule для создания построителей обычных, открытых и автоматических модулей.
Набор пакетов модуля формируется в
Builder при вызове методов exports, opens, packages, provides и mainClass.
Имена модулей, имена пакетов и имена классов, указанные в качестве параметров методов построителя, соответствуют именам модулей, именам пакетов и квалифицированным именам классов (в именованных пакетах), определенным в Спецификации языка Java.
Пример использования:
ModuleDescriptor descriptor = ModuleDescriptor.newModule("stats.core")
.requires("java.base")
.exports("org.acme.stats.core.clustering")
.exports("org.acme.stats.core.regression")
.packages(Set.of("org.acme.stats.core.internal"))
.build();
- Примечание к API:
Builderпроверяет компоненты и инварианты по мере их добавления в построитель. Это позволяет обнаруживать ошибки как можно раньше, не откладывая всю проверку до вызова методаbuild.- Начиная с версии:
- 9
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ModuleDescriptor |
build() |
Создает и возвращает ModuleDescriptor из его компонентов. |
ModuleDescriptor.Builder |
exports |
Добавляет экспортируемый пакет. |
ModuleDescriptor.Builder |
exports |
Добавляет экспортируемый пакет. |
ModuleDescriptor.Builder |
exports |
Добавляет экспортируемый пакет. |
ModuleDescriptor.Builder |
exports |
Добавляет экспортируемый пакет с указанным (возможно, пустым) набором модификаторов. |
ModuleDescriptor.Builder |
exports |
Добавляет экспортируемый пакет с указанным (возможно, пустым) набором модификаторов. |
ModuleDescriptor.Builder |
mainClass |
Задает главный класс модуля. |
ModuleDescriptor.Builder |
opens |
Добавляет открытый пакет. |
ModuleDescriptor.Builder |
opens |
Добавляет открытый пакет. |
ModuleDescriptor.Builder |
opens |
Добавляет открытый пакет. |
ModuleDescriptor.Builder |
opens |
Добавляет открытый пакет с указанным (возможно, пустым) набором модификаторов. |
ModuleDescriptor.Builder |
opens |
Добавляет открытый пакет с указанным (возможно, пустым) набором модификаторов. |
ModuleDescriptor.Builder |
packages |
Добавляет пакеты в модуль. |
ModuleDescriptor.Builder |
provides |
Предоставляет службу с одной или несколькими реализациями. |
ModuleDescriptor.Builder |
provides |
Предоставляет реализации службы. |
ModuleDescriptor.Builder |
requires |
Добавляет зависимость от модуля. |
ModuleDescriptor.Builder |
requires |
Добавляет зависимость от модуля с пустым набором модификаторов. |
ModuleDescriptor.Builder |
requires |
Добавляет зависимость от модуля с указанным (возможно, пустым) набором модификаторов. |
ModuleDescriptor.Builder |
requires |
Добавляет зависимость от модуля с указанным (возможно, пустым) набором модификаторов. |
ModuleDescriptor.Builder |
uses |
Добавляет зависимость от службы. |
ModuleDescriptor.Builder |
version |
Задает версию модуля. |
ModuleDescriptor.Builder |
version |
Задает версию модуля. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело и будет удалено: этот элемент API может быть удален в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание методов
requires
public ModuleDescriptor.Builder requires(ModuleDescriptor.Requires req)
- Параметры:
-
req— зависимость - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если зависимость относится к модулю, для построения которого инициализирован этот построитель -
IllegalStateException— если зависимость от модуля уже объявлена или этот построитель предназначен для автоматического модуля
requires
public ModuleDescriptor.Builder requires(Set<ModuleDescriptor.Requires.Modifier> ms, String mn, ModuleDescriptor.Version compiledVersion)
- Параметры:
-
ms— набор модификаторов -
mn— имя модуля -
compiledVersion— версия модуля, зафиксированная во время компиляции - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если имя модуля равноnull, не является допустимым именем модуля или совпадает с именем модуля, для построения которого инициализирован этот построитель -
IllegalStateException— если зависимость от модуля уже объявлена или этот построитель предназначен для автоматического модуля
requires
public ModuleDescriptor.Builder requires(Set<ModuleDescriptor.Requires.Modifier> ms, String mn)
- Параметры:
-
ms— набор модификаторов -
mn— имя модуля - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если имя модуля равноnull, не является допустимым именем модуля или совпадает с именем модуля, для построения которого инициализирован этот построитель -
IllegalStateException— если зависимость от модуля уже объявлена или этот построитель предназначен для автоматического модуля
requires
public ModuleDescriptor.Builder requires(String mn)
- Параметры:
-
mn— имя модуля - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если имя модуля равноnull, не является допустимым именем модуля или совпадает с именем модуля, для построения которого инициализирован этот построитель -
IllegalStateException— если зависимость от модуля уже объявлена или этот построитель предназначен для автоматического модуля
exports
public ModuleDescriptor.Builder exports(ModuleDescriptor.Exports e)
- Параметры:
-
e— экспорт - Возвращает:
- Этот построитель
- Исключения:
-
IllegalStateException— еслиpackageуже объявлен как экспортируемый или этот построитель предназначен для автоматического модуля
exports
public ModuleDescriptor.Builder exports(Set<ModuleDescriptor.Exports.Modifier> ms, String pn, Set<String> targets)
- Параметры:
-
ms— набор модификаторов -
pn— имя пакета -
targets— набор имен целевых модулей - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если имя пакета равноnullили не является допустимым именем пакета, набор целевых модулей пуст либо содержит имя, не являющееся допустимым именем модуля -
IllegalStateException— если пакет уже объявлен как экспортируемый или этот построитель предназначен для автоматического модуля
exports
public ModuleDescriptor.Builder exports(Set<ModuleDescriptor.Exports.Modifier> ms, String pn)
- Параметры:
-
ms— набор модификаторов -
pn— имя пакета - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если имя пакета равноnullили не является допустимым именем пакета -
IllegalStateException— если пакет уже объявлен как экспортируемый или этот построитель предназначен для автоматического модуля
exports
public ModuleDescriptor.Builder exports(String pn, Set<String> targets)
- Параметры:
-
pn— имя пакета -
targets— набор имен целевых модулей - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если имя пакета равноnullили не является допустимым именем пакета, набор целевых модулей пуст либо содержит имя, не являющееся допустимым именем модуля -
IllegalStateException— если пакет уже объявлен как экспортируемый или этот построитель предназначен для автоматического модуля
exports
public ModuleDescriptor.Builder exports(String pn)
- Параметры:
-
pn— имя пакета - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если имя пакета равноnullили не является допустимым именем пакета -
IllegalStateException— если пакет уже объявлен как экспортируемый или этот построитель предназначен для автоматического модуля
opens
public ModuleDescriptor.Builder opens(ModuleDescriptor.Opens obj)
- Параметры:
-
obj— объектOpens - Возвращает:
- Этот построитель
- Исключения:
-
IllegalStateException— если пакет уже объявлен открытым либо это построитель открытого или автоматического модуля
opens
public ModuleDescriptor.Builder opens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn, Set<String> targets)
- Параметры:
-
ms— набор модификаторов -
pn— имя пакета -
targets— набор имен целевых модулей - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если имя пакета равноnullили не является допустимым именем пакета, набор целевых модулей пуст либо содержит имя, не являющееся допустимым именем модуля -
IllegalStateException— если пакет уже объявлен открытым либо это построитель открытого или автоматического модуля
opens
public ModuleDescriptor.Builder opens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn)
- Параметры:
-
ms— набор модификаторов -
pn— имя пакета - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если имя пакета равноnullили не является допустимым именем пакета -
IllegalStateException— если пакет уже объявлен открытым либо это построитель открытого или автоматического модуля
opens
public ModuleDescriptor.Builder opens(String pn, Set<String> targets)
- Параметры:
-
pn— имя пакета -
targets— набор имен целевых модулей - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если имя пакета равноnullили не является допустимым именем пакета, набор целевых модулей пуст либо содержит имя, не являющееся допустимым именем модуля -
IllegalStateException— если пакет уже объявлен открытым либо это построитель открытого или автоматического модуля
opens
public ModuleDescriptor.Builder opens(String pn)
- Параметры:
-
pn— имя пакета - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если имя пакета равноnullили не является допустимым именем пакета -
IllegalStateException— если пакет уже объявлен открытым либо это построитель открытого или автоматического модуля
uses
public ModuleDescriptor.Builder uses(String service)
- Параметры:
-
service— тип службы - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если тип службы равенnullили не является квалифицированным именем класса в именованном пакете -
IllegalStateException— если зависимость от типа службы уже объявлена либо это построитель автоматического модуля
provides
public ModuleDescriptor.Builder provides(ModuleDescriptor.Provides p)
provider (или фабрики поставщика) добавляется в модуль, если он еще не добавлен.- Параметры:
-
p— описание предоставляет-службы - Возвращает:
- Этот построитель
- Исключения:
-
IllegalStateException— если поставщики для типа службы уже объявлены
provides
public ModuleDescriptor.Builder provides(String service, List<String> providers)
- Параметры:
-
service— тип службы -
providers— список имен классов поставщиков или фабрик поставщиков - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если тип службы или любое из имен классов поставщиков равноnullлибо не является квалифицированным именем класса в именованном пакете, или если список имен классов поставщиков пуст -
IllegalStateException— если поставщики для типа службы уже объявлены
packages
public ModuleDescriptor.Builder packages(Set<String> pns)
- Параметры:
-
pns— (возможно, пустой) набор имен пакетов - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— если любое из имен пакетов равноnullили не является допустимым именем пакета
version
public ModuleDescriptor.Builder version(ModuleDescriptor.Version v)
- Параметры:
-
v— версия - Возвращает:
- Этот построитель
version
public ModuleDescriptor.Builder version(String vs)
- Параметры:
-
vs— строка версии для разбора - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— еслиvsравноnullили не может быть разобрана как строка версии - См. также:
mainClass
public ModuleDescriptor.Builder mainClass(String mc)
packages данного построителя для добавления имени пакета главного класса.- Параметры:
-
mc— главный класс модуля - Возвращает:
- Этот построитель
- Исключения:
-
IllegalArgumentException— еслиmainClassравноnullили не является квалифицированным именем класса в именованном пакете
build
public ModuleDescriptor build()
ModuleDescriptor из его компонентов. Модуль будет зависеть от "java.base", даже если эта зависимость не была объявлена (исключение составляет построение модуля с именем "java.base", поскольку он не может зависеть от самого себя). Если зависимость не была объявлена, для зависимости от "java.base" будет установлен модификатор MANDATED.
- Возвращает:
- Дескриптор модуля
© 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.