# AclEntry.Builder

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

# Builder

```
class Builder
```

|---|--------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                       ||
| ↳ | [java.nio.file.attribute.AclEntry.Builder](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#) |

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

A`Builder`object is obtained by invoking one of the 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/kotlin/java/nio/file/attribute/AclEntry)!                  | [build](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#build())`()` Constructs an[AclEntry](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry)from the components of this builder.                                                                                                                                                                                      |
| [AclEntry.Builder](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#)! | [setFlags](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#setFlags(java.nio.file.attribute.AclEntryFlag))`(`vararg` `flags:` `[AclEntryFlag](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntryFlag)!`)` Sets the flags component of this builder.                                                                                                                       |
| [AclEntry.Builder](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#)! | [setFlags](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#setFlags(kotlin.collections.MutableSet))`(`flags:` `[MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)<[AclEntryFlag](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntryFlag)!>!`)` Sets the flags component of this builder.                               |
| [AclEntry.Builder](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#)! | [setPermissions](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#setPermissions(java.nio.file.attribute.AclEntryPermission))`(`vararg` `perms:` `[AclEntryPermission](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntryPermission)!`)` Sets the permissions component of this builder.                                                                                   |
| [AclEntry.Builder](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#)! | [setPermissions](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#setPermissions(kotlin.collections.MutableSet))`(`perms:` `[MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)<[AclEntryPermission](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntryPermission)!>!`)` Sets the permissions component of this builder. |
| [AclEntry.Builder](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#)! | [setPrincipal](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#setPrincipal(java.nio.file.attribute.UserPrincipal))`(`who:` `[UserPrincipal](https://developer.android.com/reference/kotlin/java/nio/file/attribute/UserPrincipal)!`)` Sets the principal component of this builder.                                                                                                                   |
| [AclEntry.Builder](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#)! | [setType](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#setType(java.nio.file.attribute.AclEntryType))`(`type:` `[AclEntryType](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntryType)!`)` Sets the type component of this builder.                                                                                                                                    |

## Public methods

### build

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

```
fun build(): AclEntry!
```

Constructs an[AclEntry](https://developer.android.com/reference/kotlin/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`.

|                                                    Return                                                     ||
|----------------------------------------------------------------------------------------------|-----------------|
| [AclEntry](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry)! | a new ACL entry |

|                                    Exceptions                                     ||
|-----------------------------------|------------------------------------------------|
| `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.html#ApiLevels)  

```
fun setFlags(vararg flags: AclEntryFlag!): AclEntry.Builder!
```

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.

|                                                            Parameters                                                             ||
|---------|--------------------------------------------------------------------------------------------------------------------------|
| `flags` | [AclEntryFlag](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntryFlag)!:the flags component |

|                                                           Return                                                            ||
|---------------------------------------------------------------------------------------------------------------|--------------|
| [AclEntry.Builder](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#)! | this builder |

### setFlags

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

```
fun setFlags(flags: MutableSet<AclEntryFlag!>!): AclEntry.Builder!
```

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

|                                                                                                                 Parameters                                                                                                                  ||
|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `flags` | [MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)\<[AclEntryFlag](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntryFlag)!\>!:the flags component |

|                                                           Return                                                            ||
|---------------------------------------------------------------------------------------------------------------|--------------|
| [AclEntry.Builder](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#)! | this builder |

|                                           Exceptions                                            ||
|--------------------------------|-----------------------------------------------------------------|
| `java.lang.ClassCastException` | if the set contains elements that are not of type`AclEntryFlag` |

### setPermissions

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

```
fun setPermissions(vararg perms: AclEntryPermission!): AclEntry.Builder!
```

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.

|                                                                     Parameters                                                                      ||
|---------|--------------------------------------------------------------------------------------------------------------------------------------------|
| `perms` | [AclEntryPermission](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntryPermission)!:the permissions component |

|                                                           Return                                                            ||
|---------------------------------------------------------------------------------------------------------------|--------------|
| [AclEntry.Builder](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#)! | this builder |

### setPermissions

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

```
fun setPermissions(perms: MutableSet<AclEntryPermission!>!): AclEntry.Builder!
```

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

|                                                                                                                          Parameters                                                                                                                           ||
|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `perms` | [MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)\<[AclEntryPermission](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntryPermission)!\>!:the permissions component |

|                                                           Return                                                            ||
|---------------------------------------------------------------------------------------------------------------|--------------|
| [AclEntry.Builder](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#)! | this builder |

|                                              Exceptions                                               ||
|--------------------------------|-----------------------------------------------------------------------|
| `java.lang.ClassCastException` | if the set contains elements that are not of type`AclEntryPermission` |

### setPrincipal

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

```
fun setPrincipal(who: UserPrincipal!): AclEntry.Builder!
```

Sets the principal component of this builder.

|                                                              Parameters                                                               ||
|-------|--------------------------------------------------------------------------------------------------------------------------------|
| `who` | [UserPrincipal](https://developer.android.com/reference/kotlin/java/nio/file/attribute/UserPrincipal)!:the principal component |

|                                                           Return                                                            ||
|---------------------------------------------------------------------------------------------------------------|--------------|
| [AclEntry.Builder](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#)! | this builder |

### setType

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

```
fun setType(type: AclEntryType!): AclEntry.Builder!
```

Sets the type component of this builder.

|                                                           Parameters                                                            ||
|--------|-------------------------------------------------------------------------------------------------------------------------|
| `type` | [AclEntryType](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntryType)!:the component type |

|                                                           Return                                                            ||
|---------------------------------------------------------------------------------------------------------------|--------------|
| [AclEntry.Builder](https://developer.android.com/reference/kotlin/java/nio/file/attribute/AclEntry.Builder#)! | this builder |