Spec-Zone.ru › OpenJDK 25

Класс ModuleLayer.Controller

java.lang.Object
java.lang.ModuleLayer.Controller
Внешний класс:
ModuleLayer
public static final class ModuleLayer.Controller extends Object
Управляет слоем модулей. Статические методы, определённые в ModuleLayer для создания слоёв модулей, возвращают Controller, который можно использовать для управления модулями в слое.

Если не указано иное, передача аргумента null методу этого класса приводит к выбросу NullPointerException.

Примечание к API:
Следует проявлять осторожность с объектами Controller: ими ни в коем случае нельзя делиться с недоверенным кодом.
С версии:
9

Краткое описание методов

Модификатор и тип Метод Описание
ModuleLayer.Controller addExports(Module source, String pn, Module target)
Обновляет модуль source в слое, чтобы экспортировать пакет в модуль target.
ModuleLayer.Controller addOpens(Module source, String pn, Module target)
Обновляет модуль source в слое, чтобы открыть пакет для модуля target.
ModuleLayer.Controller addReads(Module source, Module target)
Обновляет модуль source в слое, чтобы он читал модуль target.
ModuleLayer.Controller enableNativeAccess(Module target)
Ограниченный.
Предоставляет модулю в слое доступ к нативному коду, если модуль вызывающего кода имеет доступ к нативному коду.
ModuleLayer layer()
Возвращает слой, которым управляет этот объект.

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

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

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

layer

public ModuleLayer layer()
Возвращает слой, которым управляет этот объект.
Возвращает:
слой модулей

addReads

public ModuleLayer.Controller addReads(Module source, Module target)
Обновляет модуль source в слое, чтобы он читал модуль target. Этот метод ничего не делает, если source уже читает target.
Примечание по реализации:
Рёбра чтения, добавленные этим методом, являются слабыми и не препятствуют сборке target сборщиком мусора, когда source доступен по сильной ссылке.
Параметры:
source — исходный модуль
target — целевой модуль, который нужно читать
Возвращает:
этот контроллер
Выбрасывает:
IllegalArgumentException — если source не входит в слой модулей
См. также:
  • Module.addReads(Module)

addExports

public ModuleLayer.Controller addExports(Module source, String pn, Module target)
Обновляет модуль source в слое, чтобы экспортировать пакет в модуль target. Этот метод ничего не делает, если source уже экспортирует пакет как минимум в target.
Параметры:
source — исходный модуль
pn — имя пакета
target — целевой модуль
Возвращает:
этот контроллер
Выбрасывает:
IllegalArgumentException — если source не входит в слой модулей или пакет не входит в исходный модуль
См. также:
  • Module.addExports(String, Module)

addOpens

public ModuleLayer.Controller addOpens(Module source, String pn, Module target)
Обновляет модуль source в слое, чтобы открыть пакет для модуля target. Этот метод ничего не делает, если source уже открывает пакет как минимум для target.
Параметры:
source — исходный модуль
pn — имя пакета
target — целевой модуль
Возвращает:
этот контроллер
Выбрасывает:
IllegalArgumentException — если source не входит в слой модулей или пакет не входит в исходный модуль
См. также:
  • Module.addOpens(String, Module)

enableNativeAccess

public ModuleLayer.Controller enableNativeAccess(Module target)
enableNativeAccess — это ограниченный метод платформы Java.
Программы могут использовать enableNativeAccess только при включённом доступе к ограниченным методам.
Ограниченные методы небезопасны и при неправильном использовании могут привести к сбою JVM или повреждению памяти.
Предоставляет модулю в слое доступ к нативному коду, если модуль вызывающего кода имеет доступ к нативному коду.
Параметры:
target — модуль, который нужно обновить
Возвращает:
этот контроллер
Выбрасывает:
IllegalArgumentException — если target не входит в слой модулей
IllegalCallerException — если вызывающий код находится в модуле, для которого не включён доступ к нативному коду
С версии:
22

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/ModuleLayer.Controller.html

Spec-Zone.ru

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