Interface AccessControlList
-
- All Superinterfaces:
AccessControlPolicy
public interface AccessControlList extends AccessControlPolicy
TheAccessControlListis anAccessControlPolicyrepresenting a list ofaccess control entries. It is mutable before beingsetto the AccessControlManager and consequently defines methods to read and mutate the list i.e. to get, add or remove individual entries.- Since:
- JCR 2.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleanaddAccessControlEntry(Principal principal, Privilege[] privileges)Adds an access control entry to this policy consisting of the specifiedprincipaland the specifiedprivileges.AccessControlEntry[]getAccessControlEntries()Returns all access control entries present with this policy.voidremoveAccessControlEntry(AccessControlEntry ace)Removes the specifiedAccessControlEntryfrom this policy.
-
-
-
Method Detail
-
getAccessControlEntries
AccessControlEntry[] getAccessControlEntries() throws RepositoryException
Returns all access control entries present with this policy.This method is only guaranteed to return an
AccessControlEntryif thatAccessControlEntryhas been assigned through this API.- Returns:
- all access control entries present with this policy.
- Throws:
RepositoryException- if an error occurs.
-
addAccessControlEntry
boolean addAccessControlEntry(Principal principal, Privilege[] privileges) throws AccessControlException, RepositoryException
Adds an access control entry to this policy consisting of the specifiedprincipaland the specifiedprivileges.This method returns
trueif this policy was modified,falseotherwise.How the entries are grouped within the list is an implementation detail. An implementation may e.g. combine the specified privileges with those added by a previous call to
addAccessControlEntryfor the samePrincipal. However, a call toaddAccessControlEntryfor a givenPrincipalcan never remove aPrivilegeadded by a previous call.The modification does not take effect until this policy has been set to a node by calling
AccessControlManager.setPolicy(String, AccessControlPolicy)andsaveis performed.- Parameters:
principal- aPrincipal.privileges- an array ofPrivileges.- Returns:
trueif this policy was modify;falseotherwise.- Throws:
AccessControlException- if the specified principal or any of the privileges does not exist or if some other access control related exception occurs.RepositoryException- if another error occurs.
-
removeAccessControlEntry
void removeAccessControlEntry(AccessControlEntry ace) throws AccessControlException, RepositoryException
Removes the specifiedAccessControlEntryfrom this policy.Only exactly those entries obtained through
getAccessControlEntriescan be removed. This method does not take effect until this policy has been re-set to a node by callingAccessControlManager.setPolicy(String, AccessControlPolicy)andsaveis performed.- Parameters:
ace- the access control entry to be removed.- Throws:
AccessControlException- if the specified entry is not present on the specified node.RepositoryException- if another error occurs.
-
-