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 General Public License (GPL): http://www.gnu.org/licenses/
004    package graphlab.platform.plugin;
005    
006    import graphlab.platform.core.BlackBoard;
007    
008    /**
009     * Base Init interface which plugins are loaded from.
010     * There are options to not implement this class and just put config.xml file as XMLBasedUI In
011     * the root directory of plugin package.
012     *
013     * @author Reza Mohammadi
014     */
015    public interface PluginInterface {
016    
017        /**
018         * Initializer of plugin. Every plugin can be
019         * initialized by Implementing this interface.
020         * If the implemented class is not located in
021         * graphlab.gui.plugin.<i>pluginname</i>.Init,
022         * it should define it's location by setting
023         * plugin-initializer in manifest of jar file.
024         *
025         * @param blackboard blackboard of GraphLab instance
026         */
027        public void init(BlackBoard blackboard);
028    }