org.apache.jackrabbit.api.security.authorization
Interface PrivilegeManager


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:
AccessControlManager.privilegeFromName(String)

Method Summary
 Privilege getPrivilege(String privilegeName)
          Returns the privilege with the specified privilegeName.
 Privilege[] getRegisteredPrivileges()
          Returns all registered privileges.
 Privilege registerPrivilege(String privilegeName, boolean isAbstract, String[] declaredAggregateNames)
          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.

 

Method Detail

getRegisteredPrivileges

Privilege[] getRegisteredPrivileges()
                                    throws RepositoryException
Returns all registered privileges.

Returns:
all registered privileges.
Throws:
RepositoryException - If an error occurs.

getPrivilege

Privilege getPrivilege(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

Privilege registerPrivilege(String privilegeName,
                            boolean isAbstract,
                            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.


Copyright © 2004-2014 The Apache Software Foundation. All Rights Reserved.