Mutable ACL for creating instances of Acl
.
Public Constructor Summary
Acl.Builder()
Creates new empty builder.
|
|
Public Method Summary
Acl | |
Acl.Builder |
setDeniedReaders(Collection<Principal> deniedReaders)
Replaces existing deniedReaders.
|
Acl.Builder |
setInheritFrom(String inheritFrom)
Sets the parent to inherit ACLs from.
|
Acl.Builder |
setInheritFrom(String inheritFrom, String fragment)
Sets the parent to inherit ACLs from.
|
Acl.Builder |
setInheritanceType(Acl.InheritanceType inheritType)
Sets the type of Acl inheritance relationship between this id and any children.
|
Acl.Builder |
setOwners(Collection<Principal> owners)
Replaces existing owners.
|
Acl.Builder |
setReaders(Collection<Principal> readers)
Replaces existing readers.
|
Inherited Method Summary
Public Constructors
public Acl.Builder ()
Creates new empty builder.
All sets are empty, inheritFrom is null
, and inheritType is
CHILD_OVERRIDE
.
public Acl.Builder (Acl acl)
Creates and initializes the builder with ACL information provided in acl
.
Parameters
acl | acl |
---|
Public Methods
public Acl build ()
public Acl.Builder setDeniedReaders (Collection<Principal> deniedReaders)
Replaces existing deniedReaders.
Parameters
deniedReaders | deniedReaders |
---|
Returns
- the same instance of the builder, for chaining calls
Throws
NullPointerException | if the collection is null or contains null |
---|---|
IllegalArgumentException | if the collection contains "" or a value that has
leading or trailing whitespace
|
public Acl.Builder setInheritFrom (String inheritFrom)
Sets the parent to inherit ACLs from.
Note that the parent's InheritanceType
determines how to combine results with this
ACL.
Parameters
inheritFrom | inherit from parent "id" |
---|
Returns
- the same instance of the builder, for chaining calls
public Acl.Builder setInheritFrom (String inheritFrom, String fragment)
Sets the parent to inherit ACLs from.
Note that the parent's InheritanceType
determines how to combine results with this
ACL.
The fragment facilitates a single parent id having multiple ACLs to inherit from. For example, a single parent document id could have ACLs inherited by sub-folder instances and different ACLs that are inherited by child files. The fragment allows specifying from which of the parent's ACLs to inherited.
Parameters
inheritFrom | inherit from parent id |
---|---|
fragment | combined with inheritFrom to form the ACL |
Returns
- the same instance of the builder, for chaining calls
public Acl.Builder setInheritanceType (Acl.InheritanceType inheritType)
Sets the type of Acl inheritance relationship between this id and any children.
ACL information is used to combine authorization decisions of this ACL with any of its
children based on the Acl.InheritanceType
.
Parameters
inheritType | inheritance type (Acl.InheritanceType |
---|
Returns
- the same instance of the builder, for chaining calls
Throws
NullPointerException | if inheritType is null |
---|
See Also
public Acl.Builder setOwners (Collection<Principal> owners)
Replaces existing owners.
Parameters
owners | owners |
---|
Returns
- the same instance of the builder, for chaining calls
Throws
NullPointerException | if the collection is null or contains null |
---|---|
IllegalArgumentException | if the collection contains "" or a value that has
leading or trailing whitespace
|
public Acl.Builder setReaders (Collection<Principal> readers)
Replaces existing readers.
Parameters
readers | permit / readers |
---|
Returns
- the same instance of the builder, for chaining calls
Throws
NullPointerException | if the collection is null or contains null |
---|---|
IllegalArgumentException | if the collection contains "" or a value that has
leading or trailing whitespace
|