java.lang.Object
java.lang.ModuleLayer.Controller
- 含まれているクラス:
ModuleLayer
public static final class ModuleLayer.Controller extends Object
モジュール・レイヤーを制御します。 モジュール・レイヤーを作成するために
ModuleLayer
によって定義された静的メソッドは、レイヤー内のモジュールを制御するために使用できるController
を返します。
特に指定しないかぎり、このクラスのメソッドにnull
引数を渡すと、NullPointerException
がスローされます。
- APIのノート:
Controller
オブジェクトは、信頼できないコードと共有しないように注意する必要があります。- 導入されたバージョン:
- 9
-
メソッドのサマリー
修飾子と型メソッド説明addExports
(Module source, String pn, Module target) レイヤーのモジュールsource
を更新して、パッケージをモジュールtarget
にエクスポートします。レイヤー内のモジュールsource
を更新して、モジュールtarget
へのパッケージを開きます。レイヤー内のモジュールsource
を更新して、モジュールtarget
を読み取ります。enableNativeAccess
(Module target) Restricted.呼び出し元のモジュールにネイティブ・アクセスがある場合は、レイヤー内のモジュールのネイティブ・アクセスを有効にします。layer()
このオブジェクトが制御するレイヤーを返します。
-
メソッドの詳細
-
layer
-
addReads
public ModuleLayer.Controller addReads(Module source, Module target) レイヤー内のモジュールsource
を更新して、モジュールtarget
を読み取ります。source
が既にtarget
を読み込んでいる場合、このメソッドはno-opです。- 実装上のノート:
- このメソッドによって追加された「エッジを読み取る」はweakであり、
source
に強く到達可能な場合にtarget
がGCされるのを防ぐことはできません。 - パラメータ:
source
- ソース・モジュールtarget
- 読み取るターゲット・モジュール- 戻り値:
- このコントローラ
- 例外:
IllegalArgumentException
-source
がモジュール・レイヤーにない場合- 関連項目:
-
addExports
public ModuleLayer.Controller addExports(Module source, String pn, Module target) レイヤーのモジュールsource
を更新して、パッケージをモジュールtarget
にエクスポートします。source
が既にパッケージを少なくともtarget
にエクスポートする場合、このメソッドはno-opです。- パラメータ:
source
- ソース・モジュールpn
- パッケージ名target
- ターゲット・モジュール- 戻り値:
- このコントローラ
- 例外:
IllegalArgumentException
-source
がモジュール層にないか、パッケージがソース・モジュールにない場合- 関連項目:
-
addOpens
public ModuleLayer.Controller addOpens(Module source, String pn, Module target) レイヤー内のモジュールsource
を更新して、モジュールtarget
へのパッケージを開きます。source
が少なくともtarget
までパッケージを開いている場合、このメソッドはno-opです。- パラメータ:
source
- ソース・モジュールpn
- パッケージ名target
- ターゲット・モジュール- 戻り値:
- このコントローラ
- 例外:
IllegalArgumentException
-source
がモジュール層にないか、パッケージがソース・モジュールにない場合- 関連項目:
-
enableNativeAccess
public sealed ModuleLayer.Controller enableNativeAccess(Module target) enableNativeAccess
は、Javaプラットフォームの制限付きメソッドです。制限されたメソッドは安全ではありません。不適切に使用した場合、JVMがクラッシュまたはメモリーが破損する場合があります。呼び出し元のモジュールにネイティブ・アクセスがある場合は、レイヤー内のモジュールのネイティブ・アクセスを有効にします。- パラメータ:
target
- 更新するモジュール- 戻り値:
- このコントローラ
- 例外:
IllegalArgumentException
-target
がモジュール・レイヤーにない場合IllegalCallerException
- 呼び出し元が、ネイティブ・アクセスが有効になっていないモジュール内にある場合- 導入されたバージョン:
- 22
-
enableNativeAccess
を使用できます。