Skip navigation links

Oracle Beehive Java Content Repository Java API Reference
Release 1 (1.4)

E13801-01


oracle.ocs.jcr.lock
Interface OracleLock

All Superinterfaces:
javax.jcr.lock.Lock

public interface OracleLock
extends javax.jcr.lock.Lock

Represents a lock placed on an item.


Method Summary
 java.lang.String getLockOwner()
          Returns the user ID of the user who owns this lock.
 java.lang.String getLockToken()
          May return the lock token for this lock.
 javax.jcr.Node getNode()
          Returns the lock holding node.
 boolean isDeep()
          Returns false always since deep locks are not supported in t the current implementation.
 boolean isLive()
          Returns true if this Lock object represents a lock that is currently in effect.
 boolean isSessionScoped()
          Returns true if this is a session-scoped lock.
 void refresh()
          This method has no effect as in the current implementation.

 

Method Detail

getLockOwner

java.lang.String getLockOwner()
Returns the user ID of the user who owns this lock. This is the value of the jcr:lockOwner property of the lock-holding node. It is also the value returned by Session.getUserID at the time that the lock was placed. The lock owner's identity is only provided for informational purposes. It does not govern who can perform an unlock or make changes to the locked nodes; that depends entirely upon who the token holder is.
Specified by:
getLockOwner in interface javax.jcr.lock.Lock
Returns:
a user ID.

isDeep

boolean isDeep()
Returns false always since deep locks are not supported in t the current implementation.
Specified by:
isDeep in interface javax.jcr.lock.Lock
Returns:
a boolean

getNode

javax.jcr.Node getNode()
Returns the lock holding node. Note that N.getLock().getNode() (where N is a locked node) will only return N if N is the lock holder. If N is in the subtree of the lock holder, H, then this call will return H if the user is different from the one locked it. Otherwise, it throws LockException saying node is not locked. Because in CSI if the parent entity is locked by a user and it's child entity is queried of its locked status, its not possible to say that its parent is locked.
Specified by:
getNode in interface javax.jcr.lock.Lock
Returns:
an Node.

getLockToken

java.lang.String getLockToken()
May return the lock token for this lock. <p/> If this Session holds the lock token for this lock, then this method will return that lock token. If this Session does not hold the applicable lock token then this method will return null.
Specified by:
getLockToken in interface javax.jcr.lock.Lock
Returns:
a String.

isLive

boolean isLive()
               throws javax.jcr.RepositoryException
Returns true if this Lock object represents a lock that is currently in effect. If this lock has been unlocked then it returns false. Note that this method is intended for those cases where one is holding a Lock Java object and wants to find out whether the lock (the JCR-level entity that is attached to the lockable node) that this object originally represented still exists. For example, a explicit unlock will remove a lock from a node but the Lock Java object corresponding to that lock may still exist, and in that case its isLive method will return false.
Specified by:
isLive in interface javax.jcr.lock.Lock
Returns:
a boolean.
Throws:
javax.jcr.RepositoryException - if an error occurs.

isSessionScoped

boolean isSessionScoped()
Returns true if this is a session-scoped lock. Returns false if this is an open-scoped lock.
Specified by:
isSessionScoped in interface javax.jcr.lock.Lock
Returns:
a boolean.

refresh

void refresh()
             throws javax.jcr.lock.LockException,
                    javax.jcr.RepositoryException
This method has no effect as in the current implementation. <p/> A LockException is thrown if this Session does not hold the correct lock token for this lock.
Specified by:
refresh in interface javax.jcr.lock.Lock
Throws:
javax.jcr.lock.LockException - if this Session does not hold the correct lock token for this lock.
javax.jcr.RepositoryException - if another error occurs.

Skip navigation links

Oracle Beehive Java Content Repository Java API Reference
Release 1 (1.4)

E13801-01


Copyright © 2008, Oracle. All rights reserved.