org.infinispan.util.concurrent.locks.KeyAwareLockPromise Maven / Gradle / Ivy
package org.infinispan.util.concurrent.locks;
import org.infinispan.util.concurrent.TimeoutException;
/**
* An extension of {@link LockPromise} that contains a key associated to the lock.
*
* @author Pedro Ruivo
* @since 8.0
*/
public interface KeyAwareLockPromise extends LockPromise {
KeyAwareLockPromise NO_OP = new KeyAwareLockPromise() {
@Override
public void addListener(KeyAwareLockListener listener) {
listener.onEvent(null, LockState.ACQUIRED);
}
public boolean isAvailable() {
return true;
}
public void lock() throws InterruptedException, TimeoutException {/*no-op*/}
public void addListener(LockListener listener) {
listener.onEvent(LockState.ACQUIRED);
}
};
/**
* It adds the listener to this {@link LockPromise}.
*
* The listener is invoked when the {@link LockPromise#isAvailable()} returns true. For more info, check {@link
* KeyAwareLockListener}.
*
* @param listener the listener to add.
*/
void addListener(KeyAwareLockListener listener);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy