org.apache.jackrabbit.api.jsr283.retention
Interface RetentionManager

All Known Implementing Classes:
RetentionManagerImpl

public interface RetentionManager

The RetentionManager object is accessed via javax.jcr.Session#getRetentionManager().

Since:
JCR 2.0

Method Summary
 Hold addHold(String absPath, String name, boolean isDeep)
          Places a hold on the existing node at absPath.
 Hold[] getHolds(String absPath)
          Returns all hold objects that have been added through this API to the existing node at absPath.
 RetentionPolicy getRetentionPolicy(String absPath)
          Returns the retention policy that has been set using setRetentionPolicy(java.lang.String, org.apache.jackrabbit.api.jsr283.retention.RetentionPolicy) on the node at absPath or null if no policy has been set.
 void removeHold(String absPath, Hold hold)
          Removes the specified hold from the node at absPath.
 void removeRetentionPolicy(String absPath)
          Causes the current retention policy on the node at absPath to no longer apply.
 void setRetentionPolicy(String absPath, RetentionPolicy retentionPolicy)
          Sets the retention policy of the node at absPath to that defined in the specified policy node.
 

Method Detail

getHolds

Hold[] getHolds(String absPath)
                throws PathNotFoundException,
                       AccessDeniedException,
                       RepositoryException
Returns all hold objects that have been added through this API to the existing node at absPath. If no hold has been set before, this method returns an empty array.

A PathNotFoundException is thrown if no node at absPath exists or the session does not have privilege to retrieve the node.

An AccessDeniedException is thrown if the current session does not have sufficient rights to retrieve the holds.

A RepositoryException is thrown if another error occurs.

Parameters:
absPath - an absolute path.
Returns:
All hold objects that have been added to the existing node at absPath through this API or an empty array if no hold has been set.
Throws:
PathNotFoundException - if no node at absPath exists or the session does not have privilege to retrieve the node.
AccessDeniedException - if the current session does not have sufficient rights to retrieve the holds.
RepositoryException - if another error occurs.

addHold

Hold addHold(String absPath,
             String name,
             boolean isDeep)
             throws PathNotFoundException,
                    AccessDeniedException,
                    LockException,
                    VersionException,
                    RepositoryException
Places a hold on the existing node at absPath. If isDeep is true) the hold applies to this node and its subtree. The hold does not take effect until a save is performed. A node may have more than one hold.

The format and interpretation of the name are not specified. They are application-dependent.

A PathNotFoundException is thrown if no node at absPath exists or the session does not have privilege to retrieve the node.

An AccessDeniedException is thrown if the current session does not have sufficient rights to perform the operation.

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.

Parameters:
absPath - an absolute path.
name - an application-dependent string.
isDeep - a boolean indicating if the hold applies to the subtree.
Returns:
The Hold applied.
Throws:
PathNotFoundException - if no node at absPath exists or the session does not have privilege to retrieve the node.
AccessDeniedException - if the current session does not have sufficient rights to perform the operation.
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.

removeHold

void removeHold(String absPath,
                Hold hold)
                throws PathNotFoundException,
                       AccessDeniedException,
                       LockException,
                       VersionException,
                       RepositoryException
Removes the specified hold from the node at absPath. The removal does not take effect until a save is performed.

A PathNotFoundException is thrown if no node at absPath exists or the session does not have privilege to retrieve the node.

An AccessDeniedException is thrown if the current session does not have sufficient rights to perform the operation.

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.

Parameters:
absPath - an absolute path.
hold - the hold to be removed.
Throws:
PathNotFoundException - if no node at absPath exists or the session does not have privilege to retrieve the node.
AccessDeniedException - if the current session does not have sufficient rights to perform the operation.
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.

getRetentionPolicy

RetentionPolicy getRetentionPolicy(String absPath)
                                   throws PathNotFoundException,
                                          AccessDeniedException,
                                          RepositoryException
Returns the retention policy that has been set using setRetentionPolicy(java.lang.String, org.apache.jackrabbit.api.jsr283.retention.RetentionPolicy) on the node at absPath or null if no policy has been set.

A PathNotFoundException is thrown if no node at absPath exists or the session does not have privilege to retrieve the node.

An AccessDeniedException is thrown if the current session does not have sufficient rights to retrieve the retention policy.

A RepositoryException is thrown if another error occurs.

Parameters:
absPath - an absolute path to an existing node.
Returns:
The retention policy that applies to the existing node at absPath or null if no policy applies.
Throws:
PathNotFoundException - if no node at absPath exists or the session does not have privilege to retrieve the node.
AccessDeniedException - if the current session does not have sufficient rights to retrieve the policy.
RepositoryException - if another error occurs.

setRetentionPolicy

void setRetentionPolicy(String absPath,
                        RetentionPolicy retentionPolicy)
                        throws PathNotFoundException,
                               AccessDeniedException,
                               LockException,
                               VersionException,
                               RepositoryException
Sets the retention policy of the node at absPath to that defined in the specified policy node. Interpretation and enforcement of this policy is an implementation issue. In any case the policy does does not take effect until a save is performed.

A PathNotFoundException is thrown if no node at absPath exists or the session does not have privilege to retrieve the node.

An AccessDeniedException is thrown if the current session does not have sufficient rights to perform the operation.

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.

Parameters:
absPath - an absolute path to an existing node.
retentionPolicy - a retention policy.
Throws:
PathNotFoundException - if no node at absPath exists or the session does not have privilege to retrieve the node.
AccessDeniedException - if the current session does not have sufficient rights to perform the operation.
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.

removeRetentionPolicy

void removeRetentionPolicy(String absPath)
                           throws PathNotFoundException,
                                  AccessDeniedException,
                                  LockException,
                                  VersionException,
                                  RepositoryException
Causes the current retention policy on the node at absPath to no longer apply. The removal does not take effect until a save is performed.

A PathNotFoundException is thrown if no node at absPath exists or the session does not have privilege to retrieve the node.

An AccessDeniedException is thrown if the current session does not have sufficient rights to perform the operation.

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.

Parameters:
absPath - an absolute path to an existing node.
Throws:
PathNotFoundException - if no node at absPath exists or the session does not have privilege to retrieve the node.
AccessDeniedException - if the current session does not have sufficient rights to perform the operation.
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.


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