package org.limewire.concurrent; import java.util.concurrent.Future; import org.limewire.listener.EventListener; /** * An extension to Future where you can add listeners. * If the future has completed when the listener is added, * the listener is immediately notified. * * @see ListeningExecutorService * @see ScheduledListeningExecutorService * @see ScheduledListeningFuture * @see RunnableListeningFuture * @see RunnableScheduledListeningFuture */ public interface ListeningFuture<V> extends Future<V> { /** * Adds a listener that will be notified when the future is finished. * If the future has finished prior to this being called, it is immediately * notified. */ public void addFutureListener(EventListener<FutureEvent<V>> listener); }