Class PrivilegeCollection.Default
java.lang.Object
org.apache.jackrabbit.api.security.authorization.PrivilegeCollection.Default
- All Implemented Interfaces:
PrivilegeCollection
- Enclosing interface:
- PrivilegeCollection
Default implementation of the
PrivilegeCollection
interface.
Note that this implementation uses JCR API to resolve privilege aggregation, which is expected to be inefficient.
Implementations of JackrabbitAccessControlManager.getPrivilegeCollection(String)
and JackrabbitAccessControlManager.getPrivilegeCollection(String, Set)
therefore should provide improved implementations of the PrivilegeCollection
interface.- Since:
- Oak 1.42.0
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.jackrabbit.api.security.authorization.PrivilegeCollection
PrivilegeCollection.Default
-
Constructor Summary
ConstructorsConstructorDescriptionDefault
(@NotNull Privilege[] privileges, @NotNull AccessControlManager accessControlManager) -
Method Summary
Modifier and TypeMethodDescriptionReturn the underlying privilege array.boolean
Tests whether the given JCRprivilegeNames
are contained in the privileges for which this instance ofPrivilegeEvaluation
has been created such as e.g.
-
Constructor Details
-
Default
public Default(@NotNull @NotNull Privilege[] privileges, @NotNull @NotNull AccessControlManager accessControlManager)
-
-
Method Details
-
getPrivileges
Description copied from interface:PrivilegeCollection
Return the underlying privilege array.- Specified by:
getPrivileges
in interfacePrivilegeCollection
- Returns:
- the privilege array for which this instance has been created.
-
includes
Description copied from interface:PrivilegeCollection
Tests whether the given JCRprivilegeNames
are contained in the privileges for which this instance ofPrivilegeEvaluation
has been created such as e.g. throughJackrabbitAccessControlManager.getPrivilegeCollection(String)
orJackrabbitAccessControlManager.getPrivilegeCollection(String, Set)
. The inclusion can either be direct or through privilege aggregation.- Specified by:
includes
in interfacePrivilegeCollection
- Parameters:
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.- Returns:
true
if the underlyingprivileges
include all specified privilege names either directly or by means of aggregation;false
if one or multiple privileges are not included. Ifjcr:all
privilege is part of this collection or if no privilege names are specified this method will returntrue
. If no privileges are grantedfalse
is returned.- Throws:
AccessControlException
- If any of the given privilege names is invalid i.e. no such privilege exists.RepositoryException
- If another error occurs.
-