Класс 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.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