W3cubDocs

/OpenJDK 21

Class AclEntry

java.lang.Object
java.nio.file.attribute.AclEntry
public final class AclEntry extends Object
An entry in an access control list (ACL).

The ACL entry represented by this class is based on the ACL model specified in RFC 3530: Network File System (NFS) version 4 Protocol. Each entry has four components as follows:

  1. The type component determines if the entry grants or denies access.

  2. The principal component, sometimes called the "who" component, is a UserPrincipal corresponding to the identity that the entry grants or denies access

  3. The permissions component is a set of permissions

  4. The flags component is a set of flags to indicate how entries are inherited and propagated

ACL entries are created using an associated AclEntry.Builder object by invoking its build method.

ACL entries are immutable and are safe for use by multiple concurrent threads.

Since:
1.7
External Specifications

Nested Class Summary

Modifier and Type Class Description
static final class  AclEntry.Builder
A builder of AclEntry objects.

Method Summary

Modifier and Type Method Description
boolean equals(Object ob)
Compares the specified object with this ACL entry for equality.
Set<AclEntryFlag> flags()
Returns a copy of the flags component.
int hashCode()
Returns the hash-code value for this ACL entry.
static AclEntry.Builder newBuilder()
Constructs a new builder.
static AclEntry.Builder newBuilder(AclEntry entry)
Constructs a new builder with the components of an existing ACL entry.
Set<AclEntryPermission> permissions()
Returns a copy of the permissions component.
UserPrincipal principal()
Returns the principal component.
String toString()
Returns the string representation of this ACL entry.
AclEntryType type()
Returns the ACL entry type.

Methods declared in class java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Method Details

newBuilder

public static AclEntry.Builder newBuilder()
Constructs a new builder. The initial value of the type and who components is null. The initial value of the permissions and flags components is the empty set.
Returns:
a new builder

newBuilder

public static AclEntry.Builder newBuilder(AclEntry entry)
Constructs a new builder with the components of an existing ACL entry.
Parameters:
entry - an ACL entry
Returns:
a new builder

type

public AclEntryType type()
Returns the ACL entry type.
Returns:
the ACL entry type

principal

public UserPrincipal principal()
Returns the principal component.
Returns:
the principal component

permissions

public Set<AclEntryPermission> permissions()
Returns a copy of the permissions component.

The returned set is a modifiable copy of the permissions.

Returns:
the permissions component

flags

public Set<AclEntryFlag> flags()
Returns a copy of the flags component.

The returned set is a modifiable copy of the flags.

Returns:
the flags component

equals

public boolean equals(Object ob)
Compares the specified object with this ACL entry for equality.

If the given object is not an AclEntry then this method immediately returns false.

For two ACL entries to be considered equals requires that they are both the same type, their who components are equal, their permissions components are equal, and their flags components are equal.

This method satisfies the general contract of the Object.equals method.

Overrides:
equals in class Object
Parameters:
ob - the object to which this object is to be compared
Returns:
true if, and only if, the given object is an AclEntry that is identical to this AclEntry
See Also:

hashCode

public int hashCode()
Returns the hash-code value for this ACL entry.

This method satisfies the general contract of the Object.hashCode() method.

Overrides:
hashCode in class Object
Returns:
a hash code value for this object.
See Also:

toString

public String toString()
Returns the string representation of this ACL entry.
Overrides:
toString in class Object
Returns:
the string representation of this entry

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/nio/file/attribute/AclEntry.html