Java.nio.file.attribute.AclEntry Java中的类
此类检查ACL 条目正在验证 RFC 3530 中声明的 ACL 模型:网络文件系统,即第四协议的 (NFS) 版本,其中包含四个组件,如下特征:
- 这种类型的组件正在确定条目是否允许或拒绝其访问
- 主体组件通常称为“谁”组件,是一个最终用户主体,类似于识别是否允许或拒绝访问
- 权限部分组件是其权限范围内的一组
- flags 组件是一组标志,用于指示每个条目如何继承和调用
句法:
public final class java.nio.file.attribute.AclEntry
extends Object
此 ACL 条目都是通过生成其构建器方法创建的,以使用关联的 AclEntry.Builder 对象,即 ACL 条目经过验证并且对于多个并发方法线程的使用是安全的。
它具有 AclEntry 对象的构建器,因为在其上的 AclEntry 类定义的 newBuilder 方法之一期间访问此 Builder 对象。这些 Builder 对象是预取的,对于多个子并发线程使用而不验证同步类型是不安全的
课堂上的嵌套摘要
Modifier and Type | Class and Description |
---|---|
static class | AclEntry.Builder – A builder of AclEntry within the objects |
课堂上的方法总结
Method | Description |
---|---|
equals(Object ob) | Comparing these similar objects within this ACL entry for checking they are equal or not |
flags() | Returns a merged copy of the flag’s components. |
hashCode() | Returning the hash-code value declared for these ACL entries. |
newBuilder() | Constructing a new builder sets. |
newBuilder(AclEntry entry) | Sets a new builder with the components of prefetching ACL entries. |
permissions() | invoking a copy of the sets of permissions component of it. |
principal() | Returning the principal’s components. |
toString() | Returning the string classification of these ACL entries |
type() | Returning these ACL types of entries. |
类中的方法详细信息
A. newBuilder():设置一个新的builder。它具有类型的初始值,其组件为空,并且具有权限和标志的初始值,组件位于空集中。
句法:
public static AclEntry.Builder newBuilder()
返回类型:新创建的构建器
B. newBuilder():使用访问该 ACL 条目的组件创建一个新构建器。
句法:
public static AclEntry.Builder newBuilder(AclEntry entry)
参数: Entry,一个ACL条目
返回类型:新创建的构建器
C. toString():这个字符串表示正在返回这个 ACL 条目覆盖在这个类 Objects 中覆盖 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 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 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());
}
}
}
}
}
输出: