# Class AclEntry.Builder

java.lang.Object
java.nio.file.attribute.AclEntry.Builder

Enclosing class:
  `AclEntry`

public static final class AclEntry.Builder extends Object
A builder of `AclEntry` objects.

A `Builder` object is obtained by invoking one of the `newBuilder` methods defined by the `AclEntry` class.

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

Since:
  1.7

## Method Summary

Modifier and Type
Method
Description
`AclEntry`
`build()`
Constructs an `AclEntry` from the components of this builder.
`AclEntry.Builder`
`setFlags(AclEntryFlag... flags)`
Sets the flags component of this builder.
`AclEntry.Builder`
`setFlags(Set<AclEntryFlag> flags)`
Sets the flags component of this builder.
`AclEntry.Builder`
`setPermissions(AclEntryPermission... perms)`
Sets the permissions component of this builder.
`AclEntry.Builder`
`setPermissions(Set<AclEntryPermission> perms)`
Sets the permissions component of this builder.
`AclEntry.Builder`
`setPrincipal(UserPrincipal who)`
Sets the principal component of this builder.
`AclEntry.Builder`
`setType(AclEntryType type)`
Sets the type component of this builder.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`String`
`toString()`
Returns a string representation of the object.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(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(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.

## Method Details

### build

public AclEntry build()
Constructs an `AclEntry` from the components of this builder. The type and who components are required to have been set in order to construct an `AclEntry`.

Returns:
  a new ACL entry
Throws:
  `IllegalStateException` - if the type or who component have not been set

### setType

public AclEntry.Builder setType(AclEntryType type)
Sets the type component of this builder.

Parameters:
  `type` - the component type
Returns:
  this builder

### setPrincipal

public AclEntry.Builder setPrincipal(UserPrincipal who)
Sets the principal component of this builder.

Parameters:
  `who` - the principal component
Returns:
  this builder

### setPermissions

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.

Parameters:
  `perms` - the permissions component
Returns:
  this builder
Throws:
  `ClassCastException` - if the set contains elements that are not of type `AclEntryPermission`

### setPermissions

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.

Parameters:
  `perms` - the permissions component
Returns:
  this builder

### setFlags

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.

Parameters:
  `flags` - the flags component
Returns:
  this builder
Throws:
  `ClassCastException` - if the set contains elements that are not of type `AclEntryFlag`

### setFlags

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.

Parameters:
  `flags` - the flags component
Returns:
  this builder