モジュール java.base
パッケージ java.lang

クラス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
  • メソッドの詳細

    • layer

      public ModuleLayer 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 ModuleLayer.Controller enableNativeAccess(Module target)
      enableNativeAccessは、JavaプラットフォームのプレビューAPIです。
      プレビュー機能が有効な場合のみ、プログラムでenableNativeAccessを使用できます。
      プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
      呼び出し元のモジュールにネイティブ・アクセスがある場合は、レイヤー内のモジュールのネイティブ・アクセスを有効にします。

      このメソッドは制限付きです。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。

      パラメータ:
      target - 更新するモジュール
      戻り値:
      このコントローラ
      例外:
      IllegalArgumentException - targetがモジュール・レイヤーにない場合
      IllegalCallerException - 呼び出し元が、ネイティブ・アクセスが有効になっていないモジュール内にある場合
      導入されたバージョン:
      20