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

All Methods Instance Methods Abstract Methods
`Acl` `getPermissions​(Page page)` Returns the access control list for the page.
`Acl` `parseAcl​(Page page, java.lang.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 Detail

#### parseAcl

    Acl parseAcl​(Page page,
                 java.lang.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