# AclEntry.Builder

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

# AclEntry.Builder

`
public
static
final

class
AclEntry.Builder
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


`

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

<br />

*** ** * ** ***

A builder of[AclEntry](https://developer.android.com/reference/java/nio/file/attribute/AclEntry)objects.

A`Builder`object is obtained by invoking one of the[newBuilder](https://developer.android.com/reference/java/nio/file/attribute/AclEntry#newBuilder())methods defined by the`AclEntry`class.

Builder objects are mutable and are not safe for use by multiple concurrent threads without appropriate synchronization.

## Summary

|                                                                                                                                                                                                                                                      ### Public methods                                                                                                                                                                                                                                                       ||
|---------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[AclEntry](https://developer.android.com/reference/java/nio/file/attribute/AclEntry)                 | ` `[build](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder#build())`() ` Constructs an[AclEntry](https://developer.android.com/reference/java/nio/file/attribute/AclEntry)from the components of this builder.                                                                                                                                                                      |
| ` `[AclEntry.Builder](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder) | ` `[setFlags](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder#setFlags(java.util.Set<java.nio.file.attribute.AclEntryFlag>))`(`[Set](https://developer.android.com/reference/java/util/Set)`<`[AclEntryFlag](https://developer.android.com/reference/java/nio/file/attribute/AclEntryFlag)`> flags) ` Sets the flags component of this builder.                                     |
| ` `[AclEntry.Builder](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder) | ` `[setFlags](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder#setFlags(java.nio.file.attribute.AclEntryFlag[]))`(`[AclEntryFlag...](https://developer.android.com/reference/java/nio/file/attribute/AclEntryFlag)` flags) ` Sets the flags component of this builder.                                                                                                               |
| ` `[AclEntry.Builder](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder) | ` `[setPermissions](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder#setPermissions(java.util.Set<java.nio.file.attribute.AclEntryPermission>))`(`[Set](https://developer.android.com/reference/java/util/Set)`<`[AclEntryPermission](https://developer.android.com/reference/java/nio/file/attribute/AclEntryPermission)`> perms) ` Sets the permissions component of this builder. |
| ` `[AclEntry.Builder](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder) | ` `[setPermissions](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder#setPermissions(java.nio.file.attribute.AclEntryPermission[]))`(`[AclEntryPermission...](https://developer.android.com/reference/java/nio/file/attribute/AclEntryPermission)` perms) ` Sets the permissions component of this builder.                                                                           |
| ` `[AclEntry.Builder](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder) | ` `[setPrincipal](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder#setPrincipal(java.nio.file.attribute.UserPrincipal))`(`[UserPrincipal](https://developer.android.com/reference/java/nio/file/attribute/UserPrincipal)` who) ` Sets the principal component of this builder.                                                                                                       |
| ` `[AclEntry.Builder](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder) | ` `[setType](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder#setType(java.nio.file.attribute.AclEntryType))`(`[AclEntryType](https://developer.android.com/reference/java/nio/file/attribute/AclEntryType)` type) ` Sets the type component of this builder.                                                                                                                        |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](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 `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](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`                                                                  | ` `[wait](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`                                                                  | ` `[wait](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

### build

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

```
public AclEntry build ()
```

Constructs an[AclEntry](https://developer.android.com/reference/java/nio/file/attribute/AclEntry)from the components of this builder. The type and who components are required to have been set in order to construct an`AclEntry`.

<br />

|                                                   Returns                                                    ||
|--------------------------------------------------------------------------------------|------------------------|
| [AclEntry](https://developer.android.com/reference/java/nio/file/attribute/AclEntry) | a new ACL entry <br /> |

|                                                                      Throws                                                                      ||
|--------------------------------------------------------------------------------------------------|------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException) | if the type or who component have not been set |

### setFlags

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

```
public AclEntry.Builder setFlags (Set<AclEntryFlag> flags)
```

Sets the flags component of this builder. On return, the flags component of this builder is a copy of the given set.

<br />

|                 Parameters                 ||
|---------|-----------------------------------|
| `flags` | `Set`: the flags component <br /> |

|                                                          Returns                                                          ||
|------------------------------------------------------------------------------------------------------|---------------------|
| [AclEntry.Builder](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder) | this builder <br /> |

|                                                                           Throws                                                                            ||
|--------------------------------------------------------------------------------------------|-----------------------------------------------------------------|
| [ClassCastException](https://developer.android.com/reference/java/lang/ClassCastException) | if the set contains elements that are not of type`AclEntryFlag` |

### setFlags

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

```
public AclEntry.Builder setFlags (AclEntryFlag... flags)
```

Sets the flags component of this builder. On return, the flags component of this builder is a copy of the flags in the given array.

<br />

|                     Parameters                      ||
|---------|--------------------------------------------|
| `flags` | `AclEntryFlag`: the flags component <br /> |

|                                                          Returns                                                          ||
|------------------------------------------------------------------------------------------------------|---------------------|
| [AclEntry.Builder](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder) | this builder <br /> |

### setPermissions

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

```
public AclEntry.Builder setPermissions (Set<AclEntryPermission> perms)
```

Sets the permissions component of this builder. On return, the permissions component of this builder is a copy of the given set.

<br />

|                    Parameters                    ||
|---------|-----------------------------------------|
| `perms` | `Set`: the permissions component <br /> |

|                                                          Returns                                                          ||
|------------------------------------------------------------------------------------------------------|---------------------|
| [AclEntry.Builder](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder) | this builder <br /> |

|                                                                              Throws                                                                               ||
|--------------------------------------------------------------------------------------------|-----------------------------------------------------------------------|
| [ClassCastException](https://developer.android.com/reference/java/lang/ClassCastException) | if the set contains elements that are not of type`AclEntryPermission` |

### setPermissions

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

```
public AclEntry.Builder setPermissions (AclEntryPermission... perms)
```

Sets the permissions component of this builder. On return, the permissions component of this builder is a copy of the permissions in the given array.

<br />

|                           Parameters                            ||
|---------|--------------------------------------------------------|
| `perms` | `AclEntryPermission`: the permissions component <br /> |

|                                                          Returns                                                          ||
|------------------------------------------------------------------------------------------------------|---------------------|
| [AclEntry.Builder](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder) | this builder <br /> |

### setPrincipal

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

```
public AclEntry.Builder setPrincipal (UserPrincipal who)
```

Sets the principal component of this builder.

<br />

|                       Parameters                       ||
|-------|-------------------------------------------------|
| `who` | `UserPrincipal`: the principal component <br /> |

|                                                          Returns                                                          ||
|------------------------------------------------------------------------------------------------------|---------------------|
| [AclEntry.Builder](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder) | this builder <br /> |

### setType

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

```
public AclEntry.Builder setType (AclEntryType type)
```

Sets the type component of this builder.

<br />

|                    Parameters                     ||
|--------|-------------------------------------------|
| `type` | `AclEntryType`: the component type <br /> |

|                                                          Returns                                                          ||
|------------------------------------------------------------------------------------------------------|---------------------|
| [AclEntry.Builder](https://developer.android.com/reference/java/nio/file/attribute/AclEntry.Builder) | this builder <br /> |