All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.util.concurrent.locks.KeyAwareLockPromise Maven / Gradle / Ivy

There is a newer version: 9.1.7.Final
Show newest version
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