模块 java.base

类 Permissions

所有已实现的接口:
Serializable

public final class Permissions extends PermissionCollection implements Serializable
此类表示权限的异构集合。也就是说,它包含不同类型的 Permission 对象,组织成 PermissionCollection 对象。例如,如果将任何 java.io.FilePermission 对象添加到此类的实例中,它们将全部存储在单个 PermissionCollection 中。它是调用 FilePermission 类中的 newPermissionCollection 方法返回的 PermissionCollection。同样,任何 java.lang.RuntimePermission 对象都存储在调用 RuntimePermission 类中的 newPermissionCollection 方法返回的 PermissionCollection 中。因此,此类表示 PermissionCollection 个对象的集合。

当调用 add 方法添加一个 Permission 时,Permission 存储在适当的 PermissionCollection 中。如果尚不存在此类集合,则确定 Permission 对象的类,并对该类调用 newPermissionCollection 方法以创建 PermissionCollection 并将其添加到 Permissions 对象。如果 newPermissionCollection 返回 null ,则将创建并使用使用哈希表的默认 PermissionCollection。每个哈希表条目存储一个 Permission 对象作为键和值。

通过 elements 方法返回的枚举不是 fail-fast。在枚举该集合时,不应对该集合进行修改。

自从:
1.2
参见:
  • 构造方法详细信息

    • Permissions

      public Permissions()
      创建一个不包含 PermissionCollection 对象的新 Permissions 对象。
  • 方法详情

    • add

      public void add(Permission  permission)
      为权限所属的类添加一个 Permission 对象到 PermissionCollection。例如,如果允许是一个FilePermission,它被添加到存储在这个Permissions对象中的FilePermissionCollection。如果合适的集合尚不存在,此方法将创建一个新的 PermissionCollection 对象(并向其添加权限)。
      指定者:
      add 在类 PermissionCollection
      参数:
      permission - 要添加的 Permission 对象。
      抛出:
      SecurityException - 如果这个 Permissions 对象被标记为只读。
      参见:
    • implies

      public boolean implies(Permission  permission)
      检查此对象的 PermissionCollection 对于指定权限类的权限是否暗示在允许目的。如果适当的 PermissionCollection 中的权限组合(例如,FilePermissionCollection 对应 FilePermission )一起暗示指定的权限,则返回 true

      例如,假设在这个 Permissions 对象中有一个 FilePermissionCollection,它包含一个 FilePermission 指定对“/tmp”目录的所有子目录中的所有文件具有“读”权限,另一个 FilePermission 指定对所有文件具有“写”权限在“/tmp/scratch/foo”目录中。然后,如果使用指定对“/tmp/scratch/foo”目录中文件的“读”和“写”访问权限调用implies方法,则返回true

      此外,如果此 PermissionCollection 包含 AllPermission,此方法将始终返回 true

      指定者:
      implies 在类 PermissionCollection
      参数:
      permission - 要检查的 Permission 对象。
      返回:
      true 如果“权限”是由它所属的 PermissionCollection 中的权限暗示的,false 如果不是。
    • elements

      public Enumeration <Permission > elements()
      返回此 Permissions 对象中所有 PermissionCollection 对象中的所有 Permission 对象的枚举。
      指定者:
      elements 在类 PermissionCollection
      返回:
      所有 Permission 对象的枚举。
      参见: