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    }