Package org.apache.wiki.auth.acl

# Interface AclManager

All Superinterfaces:
  `Initializable`

All Known Implementing Classes:
  `DefaultAclManager`

public interface AclManager extends Initializable
Specifies how to parse and return ACLs from wiki pages.

Since:
  2.3

## Method Summary

Modifier and Type
Method
Description
`Acl`
`getPermissions(Page page)`
Returns the access control list for the page.
`Acl`
`parseAcl(Page page, String ruleLine)`
A helper method for parsing textual AccessControlLists.
`void`
`setPermissions(Page page, Acl acl)`
Sets the access control list for the page and persists it.

### Methods inherited from interface org.apache.wiki.api.engine.Initializable

`initialize`

## Method Details

### parseAcl

Acl parseAcl(Page page, String ruleLine) throws WikiSecurityException
A helper method for parsing textual AccessControlLists. The line is in form "(ALLOW) <permission><principal>, <principal>, <principal>". This method was moved from Authorizer.

Parameters:
  `page` - The current wiki page. If the page already has an ACL, it will be used as a basis for this ACL in order to avoid the creation of a new one.
  `ruleLine` - The rule line, as described above.
Returns:
  A valid Access Control List. May be empty.
Throws:
  `WikiSecurityException` - if the ruleLine was faulty somehow.
Since:
  2.1.121

### getPermissions

Acl getPermissions(Page page)
Returns the access control list for the page. If the ACL has not been parsed yet, it is done on-the-fly. If the page has a parent page, then that is tried also. This method was moved from Authorizer; it was consolidated with some code from AuthorizationManager.

Parameters:
  `page` - the wiki page
Returns:
  the Acl representing permissions for the page
Since:
  2.2.121

### setPermissions

void setPermissions(Page page, Acl acl) throws WikiSecurityException
Sets the access control list for the page and persists it.

Parameters:
  `page` - the wiki page
  `acl` - the access control list
Throws:
  `WikiSecurityException` - if the ACL cannot be set or persisted
Since:
  2.5