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