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
,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
Modifier and TypeMethodDescriptionstatic boolean
canLockBeRemoved
(String oldOwner, String owner) Checks if a given lock can be removed by the given owner.default void
Clears any cache held by the lock manager.default void
Closes the lock manager and releases resources.Gets the lock on a document.removeLock
(String id, String owner) Removes the lock from a document.Sets a lock on a document.
-
Method Details
-
getLock
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
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
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
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.
-