Removes the specified
AccessControlPolicy
from the node at
absPath
.
An
AccessControlPolicy
can only be removed if it was bound to the specified node through this API before. The effect of the removal only takes place upon
Session.save()
. Note, that an implementation default or any other effective
AccessControlPolicy
that has not been applied to the node before may never be removed using this method.
A
PathNotFoundException
is thrown if no node at
absPath
exists or the session does not have privilege to retrieve the node.
An
AccessControlException
is thrown if the policy to remove does not exist at the node at
absPath
.
An
AccessDeniedException
is thrown if the session lacks
MODIFY_ACCESS_CONTROL
privilege for the
absPath
node.
An
LockException
is thrown if the node at
absPath
is locked and this implementation performs this validation immediately instead of waiting until
save
.
An
VersionException
is thrown 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
.
A
RepositoryException
is thrown if another error occurs.
@param absPath an absolute path.
@param policy the policy to be removed.
@throws PathNotFoundException if no node at
absPath
existsor the session does not have privilege to retrieve the node.
@throws AccessControlException if no policy exists.
@throws AccessDeniedException if the session lacks
MODIFY_ACCESS_CONTROL
privilege for the
absPath
node.
@throws LockException if a lock applies at the node at
absPath
and this implementation performs this validation immediately instead of waiting until
save
.
@throws VersionException if the node at
absPath
isversionable 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
.
@throws RepositoryException if another error occurs.