001 package com.hammurapi.util.concurrent;
002
003 import java.util.concurrent.Future;
004
005 /**
006 * Notifies callable listeners about callable invocation.
007 * @author Pavel Vlasov
008 *
009 * @param <V>
010 */
011 public interface NotifyingFuture<V> extends Future<V> {
012
013 /**
014 * Adds callable listener.
015 * @param listener
016 */
017 void addListener(CallableListener<V> listener);
018
019 /**
020 * Removes callable listener.
021 * @param listener
022 */
023 void removeListener(CallableListener<V> listener);
024 }