Spec-Zone.ru › OpenJDK 24

Класс ModuleDescriptor.Builder

java.lang.Object
java.lang.module.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.Exports e)
Добавляет экспортированный пакет.
ModuleDescriptor.Builder exports(String pn)
Добавляет экспортированный пакет.
ModuleDescriptor.Builder exports(String pn, Set<String> targets)
Добавляет экспортированный пакет.
ModuleDescriptor.Builder exports(Set<ModuleDescriptor.Exports.Modifier> ms, String pn)
Добавляет экспортированный пакет с заданным (и, возможно, пустым) набором модификаторов.
ModuleDescriptor.Builder exports(Set<ModuleDescriptor.Exports.Modifier> ms, String pn, Set<String> targets)
Добавляет экспортированный пакет с заданным (и, возможно, пустым) набором модификаторов.
ModuleDescriptor.Builder mainClass(String mc)
Устанавливает главный класс модуля.
ModuleDescriptor.Builder opens(ModuleDescriptor.Opens obj)
Добавляет открытый пакет.
ModuleDescriptor.Builder opens(String pn)
Добавляет открытый пакет.
ModuleDescriptor.Builder opens(String pn, Set<String> targets)
Добавляет открытый пакет.
ModuleDescriptor.Builder opens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn)
Добавляет открытый пакет с заданным (и, возможно, пустым) набором модификаторов.
ModuleDescriptor.Builder opens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn, Set<String> targets)
Добавляет открытый пакет с заданным (и, возможно, пустым) набором модификаторов.
ModuleDescriptor.Builder packages(Set<String> pns)
Добавляет пакеты в модуль.
ModuleDescriptor.Builder provides(ModuleDescriptor.Provides p)
Предоставляет сервис с одним или несколькими реализациями.
ModuleDescriptor.Builder provides(String service, List<String> providers)
Предоставляет реализации сервиса.
ModuleDescriptor.Builder requires(ModuleDescriptor.Requires req)
Добавляет зависимость от модуля.
ModuleDescriptor.Builder requires(String mn)
Добавляет зависимость от модуля с пустым набором модификаторов.
ModuleDescriptor.Builder requires(Set<ModuleDescriptor.Requires.Modifier> ms, String mn)
Добавляет зависимость от модуля с заданным (и, возможно, пустым) набором модификаторов.
ModuleDescriptor.Builder requires(Set<ModuleDescriptor.Requires.Modifier> ms, String mn, ModuleDescriptor.Version compiledVersion)
Добавляет зависимость от модуля с заданным (и, возможно, пустым) набором модификаторов.
ModuleDescriptor.Builder uses(String service)
Добавляет зависимость от сервиса.
ModuleDescriptor.Builder version(ModuleDescriptor.Version v)
Устанавливает версию модуля.
ModuleDescriptor.Builder version(String vs)
Устанавливает версию модуля.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

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 (или фабрики поставщика) добавляется в модуль, если он ещё не добавлен.
Parameters:
p - The provides
Returns:
Этот билдер
Throws:
IllegalStateException - Если поставщики для типа сервиса уже объявлены

provides

public ModuleDescriptor.Builder provides(String service, List<String> providers)
Обеспечивает реализации сервиса. Пакет для каждого поставщика (или фабрики поставщика) добавляется в модуль, если он ещё не добавлен.
Parameters:
service - Тип сервиса
providers - Список имён классов поставщиков или фабрик поставщиков
Returns:
Этот билдер
Throws:
IllegalArgumentException - Если тип сервиса или любое из имён классов поставщиков null или не является квалифицированным именем класса в именованном пакете, или список имён классов поставщиков пуст
IllegalStateException - Если поставщики для типа сервиса уже объявлены

packages

public ModuleDescriptor.Builder packages(Set<String> pns)
Добавляет пакеты в модуль. Все пакеты в наборе имён пакетов, которые отсутствуют в модуле, добавляются в модуль.
Parameters:
pns - Набор (возможно пустой) имён пакетов
Returns:
Этот билдер
Throws:
IllegalArgumentException - Если какое-либо из имён пакетов null или не является корректным именем пакета

version

public ModuleDescriptor.Builder version(ModuleDescriptor.Version v)
Устанавливает версию модуля.
Parameters:
v - Версия
Returns:
Этот билдер

version

public ModuleDescriptor.Builder version(String vs)
Устанавливает версию модуля.
Parameters:
vs - Строка версии для разбора
Returns:
Этот билдер
Throws:
IllegalArgumentException - Если vs является null или не может быть разобран как строка версии
See Also:
  • ModuleDescriptor.Version.parse(String)

mainClass

public ModuleDescriptor.Builder mainClass(String mc)
Устанавливает главный класс модуля. Пакет для главного класса добавляется в модуль, если он ещё не добавлен. Другими словами, этот метод эквивалентен вызову метода packages билдера для добавления имени пакета главного класса.
Parameters:
mc - Главный класс модуля
Returns:
Этот билдер
Throws:
IllegalArgumentException - Если mainClass является null или не является квалифицированным именем класса в именованном пакете

build

public ModuleDescriptor build()
Создаёт и возвращает ModuleDescriptor из своих компонентов.

Модуль потребует "java.base", даже если зависимость не была объявлена (исключением является создание модуля с именем "java.base", так как он не может требовать самого себя). Зависимость от "java.base" будет иметь модификатор MANDATED, если зависимость не была объявлена.

Returns:
Описание модуля

© 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/module/ModuleDescriptor.Builder.html

Spec-Zone.ru

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