public abstract class AbstractMailboxPathLocker extends Object implements MailboxPathLocker
MailboxPathLocker.LockAwareExecution<T>| Constructor and Description |
|---|
AbstractMailboxPathLocker() |
| Modifier and Type | Method and Description |
|---|---|
<T> T |
executeWithLock(MailboxSession session,
MailboxPath path,
MailboxPathLocker.LockAwareExecution<T> execution) |
<T> T |
executeWithLock(MailboxSession session,
MailboxPath path,
MailboxPathLocker.LockAwareExecution<T> execution,
boolean writeLock)
Execute the
MailboxPathLocker.LockAwareExecution while holding a lock on the
MailboxPath. |
protected abstract void |
lock(MailboxSession session,
MailboxPath path,
boolean writeLock)
Perform lock
|
protected abstract void |
unlock(MailboxSession session,
MailboxPath path,
boolean writeLock)
Release lock
|
public <T> T executeWithLock(MailboxSession session, MailboxPath path, MailboxPathLocker.LockAwareExecution<T> execution) throws MailboxException
public <T> T executeWithLock(MailboxSession session, MailboxPath path, MailboxPathLocker.LockAwareExecution<T> execution, boolean writeLock) throws MailboxException
MailboxPathLockerMailboxPathLocker.LockAwareExecution while holding a lock on the
MailboxPath. If writeLock is true the implementation need to make sure that no other threads can read and write while the lock
is hold. The contract is the same as documented in ReadWriteLock.executeWithLock in interface MailboxPathLockerMailboxExceptionprotected abstract void lock(MailboxSession session, MailboxPath path, boolean writeLock) throws MailboxException
session - path - MailboxExceptionprotected abstract void unlock(MailboxSession session, MailboxPath path, boolean writeLock) throws MailboxException
session - path - MailboxExceptionCopyright © 2010-2012 The Apache Software Foundation. All Rights Reserved.