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.ui.components;
005    
006    import graphlab.platform.core.BlackBoard;
007    
008    import java.awt.*;
009    
010    /**
011     * this interface provides a way to get components from xml files,
012     * all components you want to pass to UI from xml should implemented this interface,
013     * the returned component will be added to UI.
014     * it is VERY IMPORTANT that the implementing class has a constructor with no parameters or just with one parameter
015     * that's its type is blackboard.
016     *
017     * @author azin azadi
018     */
019    public interface GComponentInterface {
020        public Component getComponent(BlackBoard b);
021    }