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