Interface PrivilegeManager
-
- All Known Implementing Classes:
PrivilegeManagerDelegator
@ProviderType public interface PrivilegeManagerPrivilegeManageris a jackrabbit specific extensions to JCR access control management that allows to retrieve privileges known by this JCR implementation and to register new custom privileges according to implementation specific rules.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull PrivilegegetPrivilege(@NotNull String privilegeName)Returns the privilege with the specifiedprivilegeName.@NotNull Privilege[]getRegisteredPrivileges()Returns all registered privileges.@NotNull PrivilegeregisterPrivilege(@NotNull String privilegeName, boolean isAbstract, @Nullable String[] declaredAggregateNames)Creates and registers a new custom privilege with the specified characteristics and returns the new privilege.
-
-
-
Method Detail
-
getRegisteredPrivileges
@NotNull @NotNull Privilege[] getRegisteredPrivileges() throws RepositoryException
Returns all registered privileges.- Returns:
- all registered privileges.
- Throws:
RepositoryException- If an error occurs.
-
getPrivilege
@NotNull @NotNull Privilege getPrivilege(@NotNull @NotNull String privilegeName) throws AccessControlException, RepositoryException
Returns the privilege with the specifiedprivilegeName.- Parameters:
privilegeName- Name of the principal.- Returns:
- the privilege with the specified
privilegeName. - Throws:
AccessControlException- If no privilege with the given name exists.RepositoryException- If another error occurs.
-
registerPrivilege
@NotNull @NotNull Privilege registerPrivilege(@NotNull @NotNull String privilegeName, boolean isAbstract, @Nullable @Nullable String[] declaredAggregateNames) throws AccessDeniedException, NamespaceException, RepositoryException
Creates and registers a new custom privilege with the specified characteristics and returns the new privilege.If the registration succeeds, the changes are immediately effective; there is no need to call
save.- Parameters:
privilegeName- The name of the new custom privilege.isAbstract- Boolean flag indicating if the privilege is abstract.declaredAggregateNames- An array of privilege names referring to registered privileges being aggregated by this new custom privilege. In case of a non aggregate privilege an empty array should be passed.- Returns:
- the new privilege.
- Throws:
AccessDeniedException- If the session this manager has been created for is not allowed to register new privileges.NamespaceException- If any of the specified JCR names is illegal.RepositoryException- If the privilege could not be registered due to any implementation specific constraint violations or if persisting the custom privilege fails.
-
-