Spec-Zone.ru › OpenJDK 21

Класс 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 (или фабрики поставщика) добавляется в модуль, если он ещё не добавлен.
Параметры:
p - Предоставляет
Возвращает:
Этот билдер
Исключения:
IllegalStateException - Если поставщики для типа службы уже были объявлены

Указывает

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

Добавляет пакеты

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

версия

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

версия

public ModuleDescriptor.Builder version(String vs)
Устанавливает версию модуля.
Параметры:
vs - Строка версии для парсинга
Возвращает:
Этот билдер
Исключения:
IllegalArgumentException - Если vs null или не может быть обработана как строка версии
См. также:
  • ModuleDescriptor.Version.parse(String)

главныйКласс

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

создать

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

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

Возвращает:
Описание модуля

© 1993, 2023, 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/21/docs/api/java.base/java/lang/module/ModuleDescriptor.Builder.html

Spec-Zone.ru

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