Класс 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 - Если поставщики для типа сервиса уже были объявлены

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 или не может быть обработана как строка версии
См. также:
ModuleDescriptor.Version.parse(String)

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, 2020, 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/11/docs/api/java.base/java/lang/module/ModuleDescriptor.Builder.html

Spec-Zone .ru
спецификации, руководства, описания, API