1 /*
2  * Written by Doug Lea with assistance from members of JCP JSR-166
3  * Expert Group and released to the public domain, as explained at
4  * http://creativecommons.org/publicdomain/zero/1.0/
5  */
6 
7 package java.util.concurrent;
8 
9 /**
10  * A mix-in style interface for marking objects that should be
11  * acted upon after a given delay.
12  *
13  * <p>An implementation of this interface must define a
14  * {@code compareTo} method that provides an ordering consistent with
15  * its {@code getDelay} method.
16  *
17  * @since 1.5
18  * @author Doug Lea
19  */
20 public interface Delayed extends Comparable<Delayed> {
21 
22     /**
23      * Returns the remaining delay associated with this object, in the
24      * given time unit.
25      *
26      * @param unit the time unit
27      * @return the remaining delay; zero or negative values indicate
28      * that the delay has already elapsed
29      */
getDelay(TimeUnit unit)30     long getDelay(TimeUnit unit);
31 }
32