|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jackrabbit.core.security.AbstractAccessControlManager
public abstract class AbstractAccessControlManager
AbstractAccessControlManager
...
Constructor Summary | |
---|---|
AbstractAccessControlManager()
|
Method Summary | |
---|---|
protected abstract void |
checkInitialized()
Check if this manager has been properly initialized. |
protected abstract void |
checkPrivileges(String absPath,
int privileges)
Check if the specified privileges are granted at absPath . |
protected abstract void |
checkValidNodePath(String absPath)
Build a qualified path from the specified absPath and test
if it is really absolute and points to an existing node. |
AccessControlPolicy[] |
getApplicablePolicies(Principal principal)
Returns the editable policies for the specified principal . |
AccessControlPolicyIterator |
getApplicablePolicies(String absPath)
Returns an empty iterator. |
AccessControlPolicy[] |
getPolicies(String absPath)
Returns null . |
protected abstract PrivilegeRegistry |
getPrivilegeRegistry()
|
Privilege[] |
getSupportedPrivileges(String absPath)
Always returns all registered Privilege s. |
Privilege |
privilegeFromName(String privilegeName)
Returns the privilege with the specified privilegeName . |
void |
removePolicy(String absPath,
AccessControlPolicy policy)
Always throws AccessControlException |
void |
setPolicy(String absPath,
AccessControlPolicy policy)
Always throws AccessControlException |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.jackrabbit.api.jsr283.security.AccessControlManager |
---|
getEffectivePolicies, getPrivileges, hasPrivileges |
Constructor Detail |
---|
public AbstractAccessControlManager()
Method Detail |
---|
public Privilege[] getSupportedPrivileges(String absPath) throws PathNotFoundException, RepositoryException
Privilege
s.
getSupportedPrivileges
in interface AccessControlManager
absPath
-
Privilege
s.
PathNotFoundException
- if no node at absPath
exists
or the session does not have privilege to
retrieve the node.
RepositoryException
- if another error occurs.AccessControlManager.getSupportedPrivileges(String)
public Privilege privilegeFromName(String privilegeName) throws AccessControlException, RepositoryException
AccessControlManager
privilegeName
.
A AccessControlException
is thrown if no privilege with
the specified name exists.
A RepositoryException
is thrown if another error occurs.
privilegeFromName
in interface AccessControlManager
privilegeName
- the name of an existing privilege.
Privilege
with the specified privilegeName
.
AccessControlException
- if no privilege with the specified name exists.
RepositoryException
- if another error occurs.AccessControlManager.privilegeFromName(String)
public AccessControlPolicy[] getPolicies(String absPath) throws PathNotFoundException, AccessDeniedException, RepositoryException
null
.
getPolicies
in interface AccessControlManager
absPath
-
null
.
PathNotFoundException
- if no node at absPath
exists
or the session does not have privilege to
retrieve the node.
AccessDeniedException
- if the session lacks
READ_ACCESS_CONTROL
privilege
for the absPath
node.
RepositoryException
- if another error occurs.AccessControlManager.getApplicablePolicies(String)
public AccessControlPolicyIterator getApplicablePolicies(String absPath) throws PathNotFoundException, AccessDeniedException, RepositoryException
getApplicablePolicies
in interface AccessControlManager
absPath
-
PathNotFoundException
- if no node at absPath
exists
or the session does not have privilege to
retrieve the node.
AccessDeniedException
- if the session lacks
READ_ACCESS_CONTROL
privilege
for the absPath
node.
RepositoryException
- if another error occurs.AccessControlManager.getApplicablePolicies(String)
public void setPolicy(String absPath, AccessControlPolicy policy) throws PathNotFoundException, AccessControlException, AccessDeniedException, RepositoryException
AccessControlException
setPolicy
in interface AccessControlManager
absPath
- an absolute path.policy
- the AccessControlPolicy
to be applied.
PathNotFoundException
- if no node at absPath
exists
or the session does not have privilege to
retrieve the node.
AccessControlException
- if the policy is not applicable.
AccessDeniedException
- if the session lacks
MODIFY_ACCESS_CONTROL
privilege for the absPath
node.
LockException
- if a lock applies at the node at
absPath
and this implementation
performs this validation immediately instead
of waiting until save
.
VersionException
- if the node at absPath
is
versionable and checked-in or is non-versionable
but its nearest versionable ancestor is
checked-in and this implementation performs
this validation immediately instead of
waiting until save
.
RepositoryException
- if another error occurs.AccessControlManager.setPolicy(String, AccessControlPolicy)
public void removePolicy(String absPath, AccessControlPolicy policy) throws PathNotFoundException, AccessControlException, AccessDeniedException, RepositoryException
AccessControlException
removePolicy
in interface AccessControlManager
absPath
- an absolute path.policy
- the policy to be removed.
PathNotFoundException
- if no node at absPath
exists
or the session does not have privilege to
retrieve the node.
AccessControlException
- if no policy exists.
AccessDeniedException
- if the session lacks
MODIFY_ACCESS_CONTROL
privilege for the absPath
node.
LockException
- if a lock applies at the node at
absPath
and this implementation
performs this validation immediately instead
of waiting until save
.
VersionException
- if the node at absPath
is
versionable and checked-in or is non-versionable
but its nearest versionable ancestor is
checked-in and this implementation performs
this validation immediately instead of
waiting until save
.
RepositoryException
- if another error occurs.AccessControlManager.removePolicy(String, AccessControlPolicy)
public AccessControlPolicy[] getApplicablePolicies(Principal principal) throws AccessDeniedException, AccessControlException, UnsupportedRepositoryOperationException, RepositoryException
principal
.
getApplicablePolicies
in interface JackrabbitAccessControlManager
principal
. Note
that the policy object returned must reveal the path of the node where
they can be applied later on.
AccessDeniedException
- if the session lacks
MODIFY_ACCESS_CONTROL
privilege.
AccessControlException
- if the specified principal does not exist
or if same other access control related exception occurs.
UnsupportedRepositoryOperationException
- if editing the policy
is not supported.
RepositoryException
- if another error occurs.protected abstract void checkInitialized() throws IllegalStateException
IllegalStateException
- If this manager has not been properly initialized.protected abstract void checkPrivileges(String absPath, int privileges) throws AccessDeniedException, PathNotFoundException, RepositoryException
absPath
.
absPath
- privileges
-
AccessDeniedException
- if the session does not have the
specified privileges.
PathNotFoundException
- if no node exists at absPath
of if the session does not have the privilege to READ it.
RepositoryException
protected abstract PrivilegeRegistry getPrivilegeRegistry() throws RepositoryException
RepositoryException
protected abstract void checkValidNodePath(String absPath) throws PathNotFoundException, RepositoryException
absPath
and test
if it is really absolute and points to an existing node.
absPath
-
PathNotFoundException
- if no node at absPath
exists
or the session does not have privilege to retrieve the node.
RepositoryException
- If the given absPath
is not
absolute or if some other error occurs.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |