001    // GraphLab Project: http://graphlab.sharif.edu
002    // Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology
003    // Distributed under the terms of the GNU Lesser General Public License (LGPL): http://www.gnu.org/licenses/
004    
005    package graphlab.library.event;
006    
007    
008    /**
009     * EventDispatcher is designed to receive notification of algorithm events.
010     * One who implements this class may take different decision on different types of Event object.
011     *
012     * @author Omid Aladini
013     * @param <VertexType> Type of the vertex associated with the graph which uses this dispatcher.
014     * @param <EdgeType> Type of the edge associated with the graph which uses this dispatcher.
015     */
016    public interface EventDispatcher {
017        /**
018         * Should take reactions (possibly to the gui) upon call by the algorithm.
019         *
020         * @param ae Event object.
021         */
022        public Event dispatchEvent(Event ae);
023    }