You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by an...@apache.org on 2007/10/08 15:10:25 UTC
svn commit: r582813 -
/jackrabbit/trunk/jackrabbit-spi/src/main/java/org/apache/jackrabbit/spi/RepositoryService.java
Author: angela
Date: Mon Oct 8 06:10:24 2007
New Revision: 582813
URL: http://svn.apache.org/viewvc?rev=582813&view=rev
Log:
JCR-1159 SPI: improve description of locking methods on RepositoryService
Modified:
jackrabbit/trunk/jackrabbit-spi/src/main/java/org/apache/jackrabbit/spi/RepositoryService.java
Modified: jackrabbit/trunk/jackrabbit-spi/src/main/java/org/apache/jackrabbit/spi/RepositoryService.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-spi/src/main/java/org/apache/jackrabbit/spi/RepositoryService.java?rev=582813&r1=582812&r2=582813&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-spi/src/main/java/org/apache/jackrabbit/spi/RepositoryService.java (original)
+++ jackrabbit/trunk/jackrabbit-spi/src/main/java/org/apache/jackrabbit/spi/RepositoryService.java Mon Oct 8 06:10:24 2007
@@ -39,7 +39,6 @@
import javax.jcr.Node;
import javax.jcr.LoginException;
import javax.jcr.ReferentialIntegrityException;
-import javax.jcr.Item;
import javax.jcr.query.InvalidQueryException;
import java.util.Map;
import java.util.Iterator;
@@ -83,15 +82,17 @@
* Return the <code>IdFactory</code>.
*
* @return The <code>IdFactory</code>.
+ * @throws RepositoryException If an error occurs.
*/
- public IdFactory getIdFactory();
+ public IdFactory getIdFactory() throws RepositoryException;
/**
* Return the <code>QValueFactory</code> defined with this SPI implementation.
*
* @return The <code>QValueFactory</code>.
+ * @throws RepositoryException If an error occurs.
*/
- public QValueFactory getQValueFactory();
+ public QValueFactory getQValueFactory() throws RepositoryException;
//--------------------------------------------------------------------------
/**
@@ -159,7 +160,7 @@
* will not be used any more.
*
* @param sessionInfo
- * @throws RepositoryException
+ * @throws javax.jcr.RepositoryException
*/
public void dispose(SessionInfo sessionInfo) throws RepositoryException;
@@ -201,7 +202,7 @@
*
* @param sessionInfo
* @return The <code>NodeId</code> of the root <code>Node</code>.
- * @throws RepositoryException
+ * @throws javax.jcr.RepositoryException
*/
public NodeId getRootId(SessionInfo sessionInfo) throws RepositoryException;
@@ -216,7 +217,7 @@
* @param nodeId
* @return The node definition applicable to the <code>Node</code> identified
* by the given id.
- * @throws RepositoryException
+ * @throws javax.jcr.RepositoryException
*/
public QNodeDefinition getNodeDefinition(SessionInfo sessionInfo, NodeId nodeId) throws RepositoryException;
@@ -230,7 +231,7 @@
* @param propertyId
* @return The property definition applicable for the <code>Property</code>
* identified by the given id.
- * @throws RepositoryException
+ * @throws javax.jcr.RepositoryException
*/
public QPropertyDefinition getPropertyDefinition(SessionInfo sessionInfo, PropertyId propertyId) throws RepositoryException;
@@ -342,8 +343,8 @@
* @return A Batch indicating the start of a set of transient modifications
* that will be execute at once upon {@link #submit(Batch)}.
* @throws RepositoryException
- * @see Item#save()
- * @see Session#save()
+ * @see javax.jcr.Item#save()
+ * @see javax.jcr.Session#save()
* @see Batch
*/
public Batch createBatch(SessionInfo sessionInfo, ItemId itemId) throws RepositoryException;
@@ -488,16 +489,19 @@
//------------------------------------------------------------< Locking >---
/**
- * Retrieve available lock information for the given <code>NodeId</code>.
+ * Returns the lock information that applies to <code>Node</code> identified
+ * by the given <code>NodeId</code> or <code>null</code>. If the implementation
+ * does not support locking at all, this method always returns <code>null</code>.
*
* @param sessionInfo
* @param nodeId
- * @return
- * @throws LockException
- * @throws RepositoryException
+ * @return The lock information for the Node identified by the given
+ * <code>nodeId</code> or <code>null</code> if no lock applies to that Node.
+ * @throws javax.jcr.AccessDeniedException
+ * @throws javax.jcr.RepositoryException If some other error occurs.
* @see Node#getLock()
*/
- public LockInfo getLockInfo(SessionInfo sessionInfo, NodeId nodeId) throws LockException, RepositoryException;
+ public LockInfo getLockInfo(SessionInfo sessionInfo, NodeId nodeId) throws AccessDeniedException, RepositoryException;
/**
* Create a lock on the <code>Node</code> identified by the given id.
@@ -506,15 +510,17 @@
* @param nodeId
* @param deep
* @param sessionScoped
- * @return returns the <code>LockInfo</code> associated with this lock.
- * @throws javax.jcr.UnsupportedRepositoryOperationException
- * @throws javax.jcr.lock.LockException
+ * @return The <code>LockInfo</code> associated with the new lock
+ * that has been created.
+ * @throws javax.jcr.UnsupportedRepositoryOperationException If this SPI
+ * implementation does not support locking at all.
+ * @throws javax.jcr.lock.LockException If the Node identified by the given
+ * id cannot be locked due to an existing lock or due to missing mixin type.
* @throws javax.jcr.AccessDeniedException
- * @throws javax.jcr.InvalidItemStateException
- * @throws javax.jcr.RepositoryException
+ * @throws javax.jcr.RepositoryException If another error occurs.
* @see javax.jcr.Node#lock(boolean, boolean)
*/
- public LockInfo lock(SessionInfo sessionInfo, NodeId nodeId, boolean deep, boolean sessionScoped) throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, InvalidItemStateException, RepositoryException;
+ public LockInfo lock(SessionInfo sessionInfo, NodeId nodeId, boolean deep, boolean sessionScoped) throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, RepositoryException;
/**
* Explicit refresh of an existing lock. Existing locks should be refreshed
@@ -522,11 +528,16 @@
*
* @param sessionInfo
* @param nodeId
- * @throws javax.jcr.lock.LockException
- * @throws javax.jcr.RepositoryException
- * @see javax.jcr.lock.Lock#refresh()
+ * @throws javax.jcr.UnsupportedRepositoryOperationException If this SPI
+ * implementation does not support locking at all.
+ * @throws javax.jcr.lock.LockException If the Node identified by the given
+ * id is not locked (any more) or if the <code>SessionInfo</code> does not
+ * contain the token associated with the lock to be refreshed.
+ * @throws javax.jcr.AccessDeniedException
+ * @throws javax.jcr.RepositoryException If another error occurs.
+ * @see javax.jcr.lock.Lock
*/
- public void refreshLock(SessionInfo sessionInfo, NodeId nodeId) throws LockException, RepositoryException;
+ public void refreshLock(SessionInfo sessionInfo, NodeId nodeId) throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, RepositoryException;
/**
* Releases the lock on the <code>Node</code> identified by the given
@@ -536,14 +547,16 @@
*
* @param sessionInfo
* @param nodeId
- * @throws javax.jcr.UnsupportedRepositoryOperationException
- * @throws javax.jcr.lock.LockException
+ * @throws javax.jcr.UnsupportedRepositoryOperationException If this SPI
+ * implementation does not support locking at all.
+ * @throws javax.jcr.lock.LockException If the Node identified by the given
+ * id is not locked or if the <code>SessionInfo</code> does not contain the
+ * token associated with the lock to be released.
* @throws javax.jcr.AccessDeniedException
- * @throws javax.jcr.InvalidItemStateException
- * @throws javax.jcr.RepositoryException
+ * @throws javax.jcr.RepositoryException If another error occurs.
* @see javax.jcr.Node#unlock()
*/
- public void unlock(SessionInfo sessionInfo, NodeId nodeId) throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, InvalidItemStateException, RepositoryException;
+ public void unlock(SessionInfo sessionInfo, NodeId nodeId) throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, RepositoryException;
//---------------------------------------------------------< Versioning >---
/**