Spec-Zone.ru › OpenJDK 17

Класс ModuleDescriptor.Builder

java.lang.Object
java.lang.module.ModuleDescriptor.Builder
Вложенный класс:
ModuleDescriptor
public static final class ModuleDescriptor.Builder extends Object
Строитель для создания объектов ModuleDescriptor.

ModuleDescriptor определяет методы newModule, newOpenModule и newAutomaticModule для создания билдеров для создания обычных, открытых и автоматических модулей.

Набор пакетов в модуле накапливается по мере вызова методов 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, 2021, 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/17/docs/api/java.base/java/lang/module/ModuleDescriptor.Builder.html

Spec-Zone.ru

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