Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Nested Classes](https://developer.android.com/reference/java/nio/file/attribute/AclEntry#nestedclasses) \| [Methods](https://developer.android.com/reference/java/nio/file/attribute/AclEntry#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/nio/file/attribute/AclEntry#inhmethods)

# AclEntry


`
public

final

class
AclEntry
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | java.nio.file.attribute.AclEntry |

<br />

*** ** * ** ***

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*](http://www.ietf.org/rfc/rfc3530.txt). Each entry has four
components as follows:

1. The `https://developer.android.com/reference/java/nio/file/attribute/AclEntry#type()` component determines if the entry
   grants or denies access.

2. The `https://developer.android.com/reference/java/nio/file/attribute/AclEntry#principal()` component, sometimes called the
   "who" component, is a `https://developer.android.com/reference/java/nio/file/attribute/UserPrincipal` corresponding to the identity
   that the entry grants or denies access

3. The `https://developer.android.com/reference/java/nio/file/attribute/AclEntry#permissions()` component is a set of
   `https://developer.android.com/reference/java/nio/file/attribute/AclEntryPermission`

4. The `https://developer.android.com/reference/java/nio/file/attribute/AclEntry#flags()` component is a set of `https://developer.android.com/reference/java/nio/file/attribute/AclEntryFlag` to indicate how entries are inherited and propagated

ACL entries are created using an associated `https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder` object by
invoking its `https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder#build()` method.

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

## Summary

| ### Nested classes ||
|---|---|
| ` class` | `https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder` A builder of `https://developer.android.com/reference/java/nio/file/attribute/AclEntry` objects. |

| ### Public methods ||
|---|---|
| ` boolean` | ` https://developer.android.com/reference/java/nio/file/attribute/AclEntry#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object ob) ` Compares the specified object with this ACL entry for equality. |
| ` https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/nio/file/attribute/AclEntryFlag>` | ` https://developer.android.com/reference/java/nio/file/attribute/AclEntry#flags()() ` Returns a copy of the flags component. |
| ` int` | ` https://developer.android.com/reference/java/nio/file/attribute/AclEntry#hashCode()() ` Returns the hash-code value for this ACL entry. |
| ` static https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder` | ` https://developer.android.com/reference/java/nio/file/attribute/AclEntry#newBuilder(java.nio.file.attribute.AclEntry)(https://developer.android.com/reference/java/nio/file/attribute/AclEntry entry) ` Constructs a new builder with the components of an existing ACL entry. |
| ` static https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder` | ` https://developer.android.com/reference/java/nio/file/attribute/AclEntry#newBuilder()() ` Constructs a new builder. |
| ` https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/nio/file/attribute/AclEntryPermission>` | ` https://developer.android.com/reference/java/nio/file/attribute/AclEntry#permissions()() ` Returns a copy of the permissions component. |
| ` https://developer.android.com/reference/java/nio/file/attribute/UserPrincipal` | ` https://developer.android.com/reference/java/nio/file/attribute/AclEntry#principal()() ` Returns the principal component. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/nio/file/attribute/AclEntry#toString()() ` Returns the string representation of this ACL entry. |
| ` https://developer.android.com/reference/java/nio/file/attribute/AclEntryType` | ` https://developer.android.com/reference/java/nio/file/attribute/AclEntry#type()() ` Returns the ACL entry type. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||

## Public methods

### equals

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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 `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` method.

<br />

<br />

| Parameters ||
|---|---|
| `ob` | `Object`: the object to which this object is to be compared <br /> |

| Returns ||
|---|---|
| `boolean` | `true` if, and only if, the given object is an AclEntry that is identical to this AclEntry <br /> |

### flags

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Set<AclEntryFlag> flags ()
```

Returns a copy of the flags component.

The returned set is a modifiable copy of the flags.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/nio/file/attribute/AclEntryFlag>` | the flags component <br /> |

### hashCode

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int hashCode ()
```

Returns the hash-code value for this ACL entry.

This method satisfies the general contract of the `https://developer.android.com/reference/java/lang/Object#hashCode()` method.

<br />

| Returns ||
|---|---|
| `int` | a hash code value for this object. <br /> |

### newBuilder

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static AclEntry.Builder newBuilder (AclEntry entry)
```

Constructs a new builder with the components of an existing ACL entry.

<br />

| Parameters ||
|---|---|
| `entry` | `AclEntry`: an ACL entry <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder` | a new builder <br /> |

### newBuilder

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder` | a new builder <br /> |

### permissions

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Set<AclEntryPermission> permissions ()
```

Returns a copy of the permissions component.

The returned set is a modifiable copy of the permissions.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/nio/file/attribute/AclEntryPermission>` | the permissions component <br /> |

### principal

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public UserPrincipal principal ()
```

Returns the principal component.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/nio/file/attribute/UserPrincipal` | the principal component <br /> |

### toString

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String toString ()
```

Returns the string representation of this ACL entry.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | the string representation of this entry <br /> |

### type

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public AclEntryType type ()
```

Returns the ACL entry type.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/nio/file/attribute/AclEntryType` | the ACL entry type <br /> |