Module java.base

Class AclEntry

java.lang.Object
java.nio.file.attribute.AclEntry

public final class AclEntry extends Object
访问控制列表(ACL)中的一个条目。

此类表示的ACL条目基于RFC 3530: 网络文件系统(NFS)版本4协议中指定的ACL模型。每个条目有四个组件,如下所示:

  1. type组件确定条目是授予还是拒绝访问。

  2. principal组件,有时称为“who”组件,是一个UserPrincipal,对应于条目授予或拒绝访问的身份

  3. permissions组件是一组permissions

  4. flags组件是一组flags,用于指示如何继承和传播条目

使用相关的AclEntry.Builder对象创建ACL条目,通过调用其build方法。

ACL条目是不可变的,可安全地供多个并发线程使用。

自版本:
1.7
外部规范
  • Method Details

    • newBuilder

      public static AclEntry.Builder newBuilder()
      构造一个新的构建器。type和who组件的初始值为null。permissions和flags组件的初始值为空集。
      返回:
      一个新的构建器
    • newBuilder

      public static AclEntry.Builder newBuilder(AclEntry entry)
      使用现有ACL条目的组件构造一个新的构建器。
      参数:
      entry - 一个ACL条目
      返回:
      一个新的构建器
    • type

      public AclEntryType type()
      返回ACL条目类型。
      返回:
      ACL条目类型
    • principal

      public UserPrincipal principal()
      返回principal组件。
      返回:
      principal组件
    • permissions

      public Set<AclEntryPermission> permissions()
      返回permissions组件的副本。

      返回的集合是permissions的可修改副本。

      返回:
      permissions组件
    • flags

      public Set<AclEntryFlag> flags()
      返回flags组件的副本。

      返回的集合是flags的可修改副本。

      返回:
      flags组件
    • equals

      public boolean equals(Object ob)
      将指定的对象与此ACL条目进行比较,以确定它们是否相等。

      如果给定的对象不是AclEntry,则此方法立即返回false

      要使两个ACL条目被视为相等,需要它们是相同类型,它们的who组件相等,它们的permissions组件相等,以及它们的flags组件相等。

      此方法满足Object.equals方法的一般合同。

      覆盖:
      equals 在类 Object
      参数:
      ob - 要比较的对象
      返回:
      如果给定的对象是与此AclEntry相同的AclEntry,则返回true
      参见:
    • hashCode

      public int hashCode()
      返回此ACL条目的哈希码值。

      此方法满足Object.hashCode()方法的一般合同。

      覆盖:
      hashCode 在类 Object
      返回:
      此对象的哈希码值。
      参见:
    • toString

      public String toString()
      返回此ACL条目的字符串表示形式。
      覆盖:
      toString 在类 Object
      返回:
      此条目的字符串表示形式