Package org.apache.wiki.api.core

# Interface AclEntry

public interface AclEntry

Represents one entry in an Access Control List (ACL).

An ACL can be thought of as a data structure with multiple ACL entry objects. Each ACL entry object contains a set of positive page permissions associated with a particular principal. (A principal represents an entity such as an individual user, group, or role). Each principal can have at most one ACL entry; that is, multiple ACL entries are not allowed for any principal.

This interface is functionally equivalent to the java.security.acl.AclEntry interface, minus negative permissions.

Since:
  2.3
See Also:
  - `Acl`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`addPermission(Permission permission)`
Adds the specified permission to this ACL entry.
`boolean`
`checkPermission(Permission permission)`
Checks if the specified permission is part of the permission set in this entry.
`Principal`
`getPrincipal()`
Returns the principal for which permissions are granted by this ACL entry.
`Enumeration<Permission>`
`permissions()`
Returns an enumeration of the permissions in this ACL entry.
`boolean`
`removePermission(Permission permission)`
Removes the specified permission from this ACL entry.
`boolean`
`setPrincipal(Principal user)`
Specifies the principal for which permissions are granted or denied by this ACL entry.

## Method Details

### addPermission

boolean addPermission(Permission permission)
Adds the specified permission to this ACL entry. The permission must be of type `org.apache.wiki.auth.permissions.PagePermission`. Note: An entry can have multiple permissions.

Parameters:
  `permission` - the permission to be associated with the principal in this entry
Returns:
  `true` if the permission was added, `false` if the permission was already part of this entry's permission set, and `false` if the permission is not of type PagePermission

### checkPermission

boolean checkPermission(Permission permission)
Checks if the specified permission is part of the permission set in this entry.

Parameters:
  `permission` - the permission to be checked for.
Returns:
  true if the permission is part of the permission set in this entry, false otherwise.

### getPrincipal

Principal getPrincipal()
Returns the principal for which permissions are granted by this ACL entry. Returns null if there is no principal set for this entry yet.

Returns:
  the principal associated with this entry.

### permissions

Enumeration<Permission> permissions()
Returns an enumeration of the permissions in this ACL entry.

Returns:
  an enumeration of the permissions

### removePermission

boolean removePermission(Permission permission)
Removes the specified permission from this ACL entry.

Parameters:
  `permission` - the permission to be removed from this entry.
Returns:
  true if the permission is removed, false if the permission was not part of this entry's permission set.

### setPrincipal

boolean setPrincipal(Principal user)
Specifies the principal for which permissions are granted or denied by this ACL entry. If a principal was already set for this ACL entry, false is returned, otherwise true is returned.

Parameters:
  `user` - the principal to be set for this entry
Returns:
  true if the principal is set, false if there was already a principal set for this entry