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    
005    package graphlab.platform.parameter;
006    
007    /**
008     * The basic Parametrizable interface. Extensions which implement this interface can have parametric field.
009     * which are public fields that user can set them before executing extension.
010     *
011     * @author azin azadi
012     */
013    public interface Parametrizable {
014        /**
015         * checks the parameters and return an error string if the parameter
016         * values are invalid, otherwise it returns null,
017         * also if some other fields should be set after setting the parameters
018         * you can do it in this method
019         */
020        public String checkParameters();
021    }