模块 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,则此方法是空操作。
      实现注意事项:
      通过此方法添加的 Read edgesweak,并且在 source 强可达时不阻止 target 被 GC。
      参数:
      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 平台的预览 API。
      程序只能在启用预览功能时使用 enableNativeAccess
      预览功能可能会在未来的版本中删除,或升级为 Java 平台的永久功能。
      如果调用者的模块具有本机访问权限,则为层中的模块启用本机访问。

      这个方法是restricted 。受限方法是不安全的,如果使用不当,它们的使用可能会使 JVM 崩溃,或者更糟的是,无声地导致内存损坏。因此,客户应避免依赖受限的方法,并尽可能使用安全和受支持的功能。

      参数:
      target - 要更新的模块
      返回:
      这个控制器
      抛出:
      IllegalArgumentException - 如果 target 不在模块层
      IllegalCallerException - 如果调用者所在的模块未启用本机访问
      自从:
      20