public interface PrivilegeCollection
Wrapper around a set of Privilege
s that allows to test if a given list of privilege names in included. This
avoids repeated calls to AccessControlManager.hasPrivileges(String, Privilege[])
or having to manually resolve
the privilege aggregation when using AccessControlManager.getPrivileges(String)
.
default
is available for backwards compatibility, it uses regular
JCR API. Therefore it is recommended to provide custom implementations of
JackrabbitAccessControlManager.getPrivilegeCollection(String)
and
JackrabbitAccessControlManager.getPrivilegeCollection(String, Set)
with
efficient implementations of the PrivilegeCollection
.Modifier and Type | Interface and Description |
---|---|
static class |
PrivilegeCollection.Default
Default implementation of the
PrivilegeCollection interface. |
Modifier and Type | Method and Description |
---|---|
Privilege[] |
getPrivileges()
Return the underlying privilege array.
|
boolean |
includes(java.lang.String... privilegeNames)
Tests whether the given JCR
privilegeNames are contained in the privileges for which this instance of
PrivilegeEvaluation has been created such as e.g. |
Privilege[] getPrivileges() throws RepositoryException
RepositoryException
- If an error occurs.boolean includes(@NotNull java.lang.String... privilegeNames) throws RepositoryException
privilegeNames
are contained in the privileges for which this instance of
PrivilegeEvaluation
has been created such as e.g. through
JackrabbitAccessControlManager.getPrivilegeCollection(String)
or
JackrabbitAccessControlManager.getPrivilegeCollection(String, Set)
.
The inclusion can either be direct or through privilege aggregation.privilegeNames
- The JCR names of privileges to be tested. They can be passed in expanded form
(like e.g. Privilege.JCR_READ
) or in qualified form (i.e. 'jcr:read' if 'jcr' was the prefixed defined for
the 'http://www.jcp.org/jcr/1.0' namespace.true
if the underlying privileges
include all specified privilege names either directly
or by means of aggregation; false
if one or multiple privileges are not included. If jcr:all
privilege
is part of this collection or if no privilege names are specified this method will return true
.
If no privileges are granted false
is returned.AccessControlException
- If any of the given privilege names is invalid i.e. no such privilege exists.RepositoryException
- If another error occurs.Copyright © 2012–2022 The Apache Software Foundation. All rights reserved.