Класс 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 |
Обновляет модуль source в слое для экспорта пакета в модуль target. |
ModuleLayer.Controller |
addOpens |
Обновляет модуль source в слое для открытия пакета для модуля target. |
ModuleLayer.Controller |
addReads |
Обновляет модуль source в слое для чтения модуля target. |
ModuleLayer.Controller |
enableNativeAccess |
Ограничено. Включает доступ к нативным функциям для модуля в слое, если у модуля вызывающего есть доступ к нативным функциям. |
ModuleLayer |
layer() |
Возвращает слой, которым управляет этот объект. |
Подробное описание методов
layer
public ModuleLayer layer()
Возвращает слой, которым управляет этот объект.
- Возвращает:
- слой модулей
addReads
public ModuleLayer.Controller addReads(Module source, Module target)
Обновляет модуль
source в слое для чтения модуля target. Этот метод является пустым, если source уже читает target.- Примечание к реализации:
-
Рёбра чтения, добавленные этим методом, являются слабыми и не препятствуют тому, чтобы
targetбыл удалён сборщиком мусора, когдаsourceявляется сильной ссылкой. - Параметры:
-
source- Источник модуля -
target- Целевой модуль для чтения - Возвращает:
- Этот контроллер
- Исключения:
-
IllegalArgumentException- Еслиsourceне находится в слое модулей - См. также:
addExports
public ModuleLayer.Controller addExports(Module source, String pn, Module target)
Обновляет модуль
source в слое для экспорта пакета в модуль target. Этот метод является пустым, если source уже экспортирует пакет, по крайней мере, в target.- Параметры:
-
source- Источник модуля -
pn- Имя пакета -
target- Целевой модуль - Возвращает:
- Этот контроллер
- Исключения:
-
IllegalArgumentException- Еслиsourceне находится в слое модулей или пакет отсутствует в исходном модуле - См. также:
addOpens
public ModuleLayer.Controller addOpens(Module source, String pn, Module target)
Обновляет модуль
source в слое для открытия пакета для модуля target. Этот метод является пустым, если source уже открывает пакет, по крайней мере, для target.- Параметры:
-
source- Источник модуля -
pn- Имя пакета -
target- Целевой модуль - Возвращает:
- Этот контроллер
- Исключения:
-
IllegalArgumentException- Еслиsourceне находится в слое модулей или пакет отсутствует в исходном модуле - См. также:
enableNativeAccess
public ModuleLayer.Controller enableNativeAccess(Module target)
enableNativeAccess — это ограниченный метод платформы Java. Ограниченные методы небезопасны и, при неправильном использовании, могут привести к сбою JVM или к повреждению памяти.
Включает доступ к нативным функциям для модуля в слое, если у модуля вызывающего есть доступ к нативным функциям.
- Параметры:
-
target- Модуль для обновления - Возвращает:
- Этот контроллер
- Исключения:
-
IllegalArgumentException- Еслиtargetне находится в слое модулей -
IllegalCallerException- Если вызывающий модуль не имеет включённого доступа к нативным функциям - С:
- 22
© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/ModuleLayer.Controller.html
enableNativeAccessтолько при включённом доступе к ограниченным методам.