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
7package 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 */
20public 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     */
30    long getDelay(TimeUnit unit);
31}
32