Class LockManagerImpl
- java.lang.Object
-
- org.apache.jackrabbit.oak.jcr.lock.LockManagerImpl
-
- All Implemented Interfaces:
javax.jcr.lock.LockManager
public class LockManagerImpl extends Object implements javax.jcr.lock.LockManager
Simple lock manager implementation that just keeps track of a set of lock tokens and delegates all locking operations back to theSession
andNode
implementations.
-
-
Constructor Summary
Constructors Constructor Description LockManagerImpl(SessionContext sessionContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addLockToken(String lockToken)
boolean
canUnlock(NodeDelegate node)
Verifies if the currentsessionContext
can unlock the specified node@NotNull javax.jcr.lock.Lock
getLock(String absPath)
@NotNull String[]
getLockTokens()
boolean
holdsLock(String absPath)
boolean
isLocked(String absPath)
@NotNull javax.jcr.lock.Lock
lock(String absPath, boolean isDeep, boolean isSessionScoped, long timeoutHint, String ownerInfo)
void
removeLockToken(String lockToken)
void
unlock(String absPath)
-
-
-
Constructor Detail
-
LockManagerImpl
public LockManagerImpl(SessionContext sessionContext)
-
-
Method Detail
-
getLockTokens
@NotNull public @NotNull String[] getLockTokens() throws javax.jcr.RepositoryException
- Specified by:
getLockTokens
in interfacejavax.jcr.lock.LockManager
- Throws:
javax.jcr.RepositoryException
-
addLockToken
public void addLockToken(String lockToken) throws javax.jcr.RepositoryException
- Specified by:
addLockToken
in interfacejavax.jcr.lock.LockManager
- Throws:
javax.jcr.RepositoryException
-
removeLockToken
public void removeLockToken(String lockToken) throws javax.jcr.RepositoryException
- Specified by:
removeLockToken
in interfacejavax.jcr.lock.LockManager
- Throws:
javax.jcr.RepositoryException
-
isLocked
public boolean isLocked(String absPath) throws javax.jcr.RepositoryException
- Specified by:
isLocked
in interfacejavax.jcr.lock.LockManager
- Throws:
javax.jcr.RepositoryException
-
holdsLock
public boolean holdsLock(String absPath) throws javax.jcr.RepositoryException
- Specified by:
holdsLock
in interfacejavax.jcr.lock.LockManager
- Throws:
javax.jcr.RepositoryException
-
getLock
@NotNull public @NotNull javax.jcr.lock.Lock getLock(String absPath) throws javax.jcr.RepositoryException
- Specified by:
getLock
in interfacejavax.jcr.lock.LockManager
- Throws:
javax.jcr.RepositoryException
-
lock
@NotNull public @NotNull javax.jcr.lock.Lock lock(String absPath, boolean isDeep, boolean isSessionScoped, long timeoutHint, String ownerInfo) throws javax.jcr.RepositoryException
- Specified by:
lock
in interfacejavax.jcr.lock.LockManager
- Throws:
javax.jcr.RepositoryException
-
unlock
public void unlock(String absPath) throws javax.jcr.RepositoryException
- Specified by:
unlock
in interfacejavax.jcr.lock.LockManager
- Throws:
javax.jcr.RepositoryException
-
canUnlock
public boolean canUnlock(NodeDelegate node)
Verifies if the currentsessionContext
can unlock the specified node- Parameters:
node
- the node state to check- Returns:
- true if the current sessionContext can unlock the specified node
-
-