|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jackrabbit.jcr2spi.lock.LockManagerImpl
public class LockManagerImpl
LockManagerImpl
...
TODO: TOBEFIXED. Lock objects obtained through this mgr are not informed if another session is or becomes lock-holder and removes the lock again.
Constructor Summary | |
---|---|
LockManagerImpl(WorkspaceManager wspManager,
ItemManager itemManager,
CacheBehaviour cacheBehaviour)
|
Method Summary | |
---|---|
void |
addLockToken(String lt)
Delegates this call to WorkspaceManager.addLockToken(String) . |
void |
checkLock(NodeState nodeState)
Check whether the given node state is locked by somebody else than the current session. |
Lock |
getLock(NodeState nodeState)
If the session created a lock on the node with the given state, we already know the lock. |
String[] |
getLockTokens()
Returns the lock tokens present on the SessionInfo this
manager has been created with. |
boolean |
isLocked(NodeState nodeState)
Returns true if this node is locked either as a result
of a lock held by this node or by a deep lock on a node above this
node; otherwise returns false . |
Lock |
lock(NodeState nodeState,
boolean isDeep,
boolean isSessionScoped)
Lock a node. |
void |
loggedOut(Session session)
Called when a Session has been 'closed' by
calling
|
void |
loggingOut(Session session)
Called when a Session is about to be 'closed' by
calling
|
void |
removeLockToken(String lt)
If the lock addressed by the token is session-scoped, this method will throw a LockException, such as defined by JSR170 v.1.0.1 for Session.removeLockToken(String) . |
void |
unlock(NodeState nodeState)
Removes the lock on a node. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public LockManagerImpl(WorkspaceManager wspManager, ItemManager itemManager, CacheBehaviour cacheBehaviour)
Method Detail |
---|
public Lock lock(NodeState nodeState, boolean isDeep, boolean isSessionScoped) throws LockException, RepositoryException
LockManager
lock
in interface LockManager
isDeep
- whether the lock applies to this node onlyisSessionScoped
- whether the lock is session scoped
LockException
- if this node already is locked, or some descendant
node is locked and isDeep
is true
RepositoryException
LockManager.lock(NodeState,boolean,boolean)
public void unlock(NodeState nodeState) throws LockException, RepositoryException
LockManager
unlock
in interface LockManager
nodeState
-
LockException
- if this node is not locked or the session does not
have the correct lock token
RepositoryException
LockManager.unlock(NodeState)
public Lock getLock(NodeState nodeState) throws LockException, RepositoryException
getLock
in interface LockManager
nodeState
-
LockException
- if this node is not locked
RepositoryException
LockManager.getLock(NodeState)
public boolean isLocked(NodeState nodeState) throws RepositoryException
LockManager
true
if this node is locked either as a result
of a lock held by this node or by a deep lock on a node above this
node; otherwise returns false
.
isLocked
in interface LockManager
nodeState
-
true
if this node is locked either as a result
of a lock held by this node or by a deep lock on a node above this
node; otherwise returns false
RepositoryException
LockManager.isLocked(NodeState)
public void checkLock(NodeState nodeState) throws LockException, RepositoryException
LockManager
checkLock
in interface LockManager
nodeState
-
LockException
- if write access to the specified node is not allowed
RepositoryException
- if some other error occursLockManager.checkLock(NodeState)
public String[] getLockTokens()
SessionInfo
this
manager has been created with.
getLockTokens
in interface LockManager
LockManager.getLockTokens()
public void addLockToken(String lt) throws LockException, RepositoryException
WorkspaceManager.addLockToken(String)
.
If this succeeds this method will inform all locks stored in the local
map in order to give them the chance to update their lock information.
addLockToken
in interface LockManager
lt
- added lock token
LockException
RepositoryException
LockManager.addLockToken(String)
public void removeLockToken(String lt) throws LockException, RepositoryException
Session.removeLockToken(String)
.WorkspaceManager.removeLockToken(String)
.
All locks stored in the local lock map are notified by the removed
token in order have them updated their lock information.
removeLockToken
in interface LockManager
lt
- removed lock token
LockException
RepositoryException
LockManager.removeLockToken(String)
public void loggingOut(Session session)
SessionListener
Session
is about to be 'closed' by
calling Session.logout()
- Specified by:
loggingOut
in interface SessionListener
- Parameters:
session
- - See Also:
SessionListener.loggingOut(Session)
public void loggedOut(Session session)
SessionListener
Session
has been 'closed' by
calling Session.logout()
- Specified by:
loggedOut
in interface SessionListener
- Parameters:
session
- - See Also:
SessionListener.loggedOut(Session)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |