Package org.nuxeo.ecm.core.api.lock
Interface LockManager
-
- All Known Subinterfaces:
DBSConnection
,DBSRepository
- All Known Implementing Classes:
DBSCachingConnection
,DBSCachingRepository
,DBSConnectionBase
,DBSRepositoryBase
,DBSTransactionState
,MemConnection
,MemRepository
,MongoDBConnection
,MongoDBRepository
,RedisLockManager
,VCSLockManager
public interface LockManager
Manager of locks for a repository.The method
closeLockManager()
must be called when done with the lock manager.- Since:
- 6.0
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static boolean
canLockBeRemoved(String oldOwner, String owner)
Checks if a given lock can be removed by the given owner.default void
clearLockManagerCaches()
Clears any cache held by the lock manager.default void
closeLockManager()
Closes the lock manager and releases resources.Lock
getLock(String id)
Gets the lock on a document.Lock
removeLock(String id, String owner)
Removes the lock from a document.Lock
setLock(String id, Lock lock)
Sets a lock on a document.
-
-
-
Method Detail
-
getLock
Lock getLock(String id)
Gets the lock on a document.If the document does not exist,
null
is returned.- Parameters:
id
- the document id- Returns:
- the existing lock, or
null
when there is no lock
-
setLock
Lock setLock(String id, Lock lock)
Sets a lock on a document.If the document is already locked, returns its existing lock status (there is no re-locking,
removeLock(java.lang.String, java.lang.String)
must be called first).- Parameters:
id
- the document idlock
- the lock to set- Returns:
null
if locking succeeded, or the existing lock if locking failed
-
removeLock
Lock removeLock(String id, String owner)
Removes the lock from a document.The previous lock is returned.
If
owner
isnull
then the lock is unconditionally removed.If
owner
is notnull
, it must match the existing lock owner for the lock to be removed. If it doesn't match, the returned lock will returntrue
forLock.getFailed()
.- Parameters:
id
- the document idowner
- the owner to check, ornull
for no check- Returns:
- the previous lock (may be
null
), with a failed flag if locking failed
-
canLockBeRemoved
static boolean canLockBeRemoved(String oldOwner, String owner)
Checks if a given lock can be removed by the given owner.- Parameters:
oldOwner
- the existing lock's ownerowner
- the owner (may benull
)- Returns:
true
if the lock can be removed
-
closeLockManager
default void closeLockManager()
Closes the lock manager and releases resources.
-
clearLockManagerCaches
default void clearLockManagerCaches()
Clears any cache held by the lock manager.
-
-