⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkoptionhandler.java

📁 wekaUT是 university texas austin 开发的基于weka的半指导学习(semi supervised learning)的分类器
💻 JAVA
字号:
/* *    This program is free software; you can redistribute it and/or modify *    it under the terms of the GNU General Public License as published by *    the Free Software Foundation; either version 2 of the License, or *    (at your option) any later version. * *    This program is distributed in the hope that it will be useful, *    but WITHOUT ANY WARRANTY; without even the implied warranty of *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *    GNU General Public License for more details. * *    You should have received a copy of the GNU General Public License *    along with this program; if not, write to the Free Software *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *//* *    CheckOptionHandler.java *    Copyright (C) 1999 Len Trigg * */package weka.core;import java.util.*;/** * Simple command line checking of classes that implement OptionHandler.<p> * * Usage: <p> * <code> *     CheckOptionHandler -W optionHandlerClassName -- test options * </code> <p> * * Valid options are: <p> * * -W classname <br> * The name of a class implementing an OptionHandler. <p> * * Options after -- are used as user options in testing the * OptionHandler <p> * * @author Len Trigg (trigg@cs.waikato.ac.nz) * @version $Revision: 1.1.1.1 $ */public class CheckOptionHandler {    /**   * Prints the given options to a string.   *   * @param options the options to be joined   */  public static String printOptions(String [] options) {        if (options == null) {      return("<null>");    } else {      return Utils.joinOptions(options);    }  }  /**   * Compares the two given sets of options.   *   * @param options1 the first set of options   * @param options2 the second set of options   * @exception Exception if the two sets of options differ   */  public static void compareOptions(String [] options1, String [] options2)     throws Exception {    if (options1 == null) {      throw new Exception("first set of options is null!");    }    if (options2 == null) {      throw new Exception("second set of options is null!");    }    if (options1.length != options2.length) {      throw new Exception("problem found!\n"			    + "First set: " + printOptions(options1) + '\n'			    + "Second set: " + printOptions(options2) + '\n'			    + "options differ in length");    }    for (int i = 0; i < options1.length; i++) {      if (!options1[i].equals(options2[i])) {		throw new Exception("problem found!\n"			    + "\tFirst set: " + printOptions(options1) + '\n'			    + "\tSecond set: " + printOptions(options2) + '\n'			    + '\t' + options1[i] + " != " + options2[i]);      }    }  }  /**   * Runs some diagnostic tests on an optionhandler object. Output is   * printed to System.out.   *   * @param oh the OptionHandler of interest   * @param options an array of strings containing some test command   * line options   * @exception Exception if the option handler fails any of the tests.   */  public static void checkOptionHandler(OptionHandler oh, String []options)    throws Exception {        System.out.println("OptionHandler: " + oh.getClass().getName());    System.out.println("ListOptions:");    Enumeration enum = oh.listOptions();    while (enum.hasMoreElements()) {      Option option = (Option) enum.nextElement();      System.out.println(option.synopsis());      System.out.println(option.description());    }    // Get the default options and check that after    // setting them the same gets returned    String [] defaultOptions = oh.getOptions();    System.out.print("Default options:");    System.out.println(printOptions(defaultOptions));    // Set some options, get them back, set them, and check     // the returned ones are the same as returned initially    System.out.print("User options:");    System.out.println(printOptions(options));    System.out.println("Setting user options...");    oh.setOptions(options);    System.out.print("Remaining options:");    System.out.println(CheckOptionHandler.printOptions(options));    System.out.print("Getting canonical user options:");    String [] userOptions = oh.getOptions();    System.out.println(CheckOptionHandler.printOptions(userOptions));    System.out.println("Setting canonical user options...");    oh.setOptions((String [])userOptions.clone());    System.out.print("Checking canonical user options...");    String [] userOptionsCheck = oh.getOptions();    CheckOptionHandler.compareOptions(userOptions, userOptionsCheck);    System.out.println("OK");    System.out.println("Resetting to default options...");    oh.setOptions((String [])defaultOptions.clone());    System.out.print("Checking default options match previous default...");    String [] defaultOptionsCheck = oh.getOptions();    CheckOptionHandler.compareOptions(defaultOptions, defaultOptionsCheck);    System.out.println("OK");  }    /**    * Main method for using the CheckOptionHandler.<p>   *   * Valid options are: <p>   *   * -W classname <br>   * The name of the class implementing an OptionHandler. <p>   *   * Options after -- are used as user options in testing the   * OptionHandler <p>   *   * @param the options to the CheckOptionHandler   */  public static void main(String [] args) {    try {      String className = Utils.getOption('W', args);      if (className.length() == 0) {	throw new Exception("Please give a class name with -W option");      }      OptionHandler o;      try {	o = (OptionHandler)Class.forName(className).newInstance();      } catch (Exception ex) {	throw new Exception("Couldn't find OptionHandler with name " 			    + className);      }      String [] options = Utils.partitionOptions(args);      Utils.checkForRemainingOptions(args);      CheckOptionHandler.checkOptionHandler(o, options);    } catch (Exception ex) {      System.err.println(ex.getMessage());    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -