当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java java.nio.file.attribute.AclEntry用法及代码示例


此类检查的 ACL 条目在 RFC 3530 中声明的 ACL 模型上进行验证:网络文件系统,即第四协议的 (NFS) 版本,并且其中具有四个组件,其特征如下:

  • 此类组件正在确定条目是否允许或拒绝其访问
  • 主成分通常被称为“who”成分,是一个末端user-principal,类似于识别条目是否允许或拒绝访问。
  • 权限部分组件是其权限内的一组
  • flags 组件是一组标志,用于指示每个条目如何继承和调用

用法:

public final class java.nio.file.attribute.AclEntry 
extends Object

该 ACL 条目全部创建为通过生成其构建器方法来使用关联的 AclEntry.Builder 对象,即 ACL 条目经过验证并且对于多个并发方法线程的使用是安全的。

它具有 AclEntry 对象的构建器,因为该 Builder 对象是在 AclEntry 类定义的 newBuilder 方法之一期间访问的。这些 Builder 对象是预取的,对于在不验证同步类型的情况下工作的多个 sub-concurrent 线程来说是不安全的

Nested Summary Present in Class

修饰符和类型 类别和说明
静态类 AclEntry.Builder - 对象内 AclEntry 的构建器

Method Summary Present in Class

方法 说明
equals(Object ob) 比较此 ACL 条目中的这些相似对象以检查它们是否相等
flags() 返回标志组件的合并副本。
hashCode() 返回为这些 ACL 条目声明的哈希码值。
newBuilder() 建造新的建造者套装。
newBuilder(AclEntry entry) 使用预取 ACL 条目的组件设置新的构建器。
permissions() 调用其权限组件集的副本。
principal() 返回主体的组件。
toString() 返回这些 ACL 条目的字符串分类
type() 返回这些 ACL 类型的条目。

Method Details Present in Class

A.newBuilder():设置一个新的构建器。它具有类型的初始值,并且其组件为空,并且具有权限和标志组件的初始值在空集中。

用法:

public static AclEntry.Builder newBuilder()

返回类型:新创建的构建器

B. newBuilder():使用访问该 ACL 条目的组件创建一个新的构建器。

用法:

public static AclEntry.Builder newBuilder(AclEntry entry)

Parameters: 条目,ACL条目

返回类型:新创建的构建器

C.toString():此字符串表示形式返回此 ACL 条目覆盖此类对象中的 toString

用法:

public String toString()

返回类型:设置该条目的字符串分类

D.type():设置ACL及其条目类型

用法:

public AclEntryType type()

E.principal():创建主体组件

用法:

public UserPrincipal principal()

F.permissions():返回条目的预取副本,因为具有集合的 ACL 权限组件是权限的修改副本

用法:

public Set< AclEntryPermission > permissions() 

G.flags():返回标志组件的预取副本,返回集是标志的修改副本。

用法:

public Set<AclEntryFlag> flags()

例子:

Java


// Java Program to Illustrate Syntax and Usage of AclEntry
// Class present inside java.nio.file.attribute Package
// through its classes and methods
public void Myserver(AclEntryPermission mode)
    throws AccessDeniedException
{
    UserPrincipal currentUser
        = this.attributes.getCurrentUser();
    GroupPrincipal currentGroup
        = this.attributes.getCurrentGroup();
    for (AclEntry entry : this.acl) {
        UserPrincipal principal = entry.principal();
        if (principal.equals(currentUser)
            || principal.equals(currentGroup)) {
            Set<AclEntryPermission> sets permissions
                = entry.permissions();
            boolean applies = permissions.contains(mode);
            // type(); is used
            AclEntryType type = entry.type();
            if (applies) {
                if (type == ALLOW) {
                    return system.out.println(
                        "message = Hello GFG Readers !");
                }
                if (type == DENY) {
                    // to.String() is used
                    throw new AccessDeniedException(
                        this.path.toString());
                }
            }
        }
    }
}

输出:



相关用法


注:本文由纯净天空筛选整理自khurpaderushi143大神的英文原创作品 java.nio.file.attribute.AclEntry Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。