Interface PrivilegeManager

All Known Implementing Classes:
PrivilegeManagerDelegator

@ProviderType public interface PrivilegeManager
PrivilegeManager is 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.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    @NotNull Privilege
    getPrivilege(@NotNull String privilegeName)
    Returns the privilege with the specified privilegeName.
    @NotNull Privilege[]
    Returns all registered privileges.
    @NotNull Privilege
    registerPrivilege(@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 Details

    • 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 specified privilegeName.
      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.