View Javadoc
1   package locklib;
2   
3   /**
4    * A lock pre-checker is informed of all locks currently held and decides
5    * whether a lock (which cannot be obtained right now) can be queued for
6    * later acquisition. The most common use of a pre-checker is to detect
7    * deadlocks.
8    * @param <LockType> the type of lock
9    */
10  public interface LockPreChecker<LockType>
11  		extends LockManagerListener<LockType> {
12  	/**
13  	 * Checks if we can wait for a lock. This method should throw an exception
14  	 * if waiting for the lock is not allowed.
15  	 * @param r the lock request
16  	 * @param t the lock target
17  	 */
18  	void pre_check_wait(LockRequest<LockType> r, Target<LockType> t);
19  }