Package edu.stanford.genetics.treeview

Source Code of edu.stanford.genetics.treeview.MainProgramArgs

package edu.stanford.genetics.treeview;

import jargs.gnu.CmdLineParser;
import jargs.gnu.CmdLineParser.IllegalOptionValueException;
import jargs.gnu.CmdLineParser.UnknownOptionException;

public class MainProgramArgs {
  private String sframeType;
  private String sResource;
  private String sExportType;
  private String[] remaining;
  final private CmdLineParser parser;
  final private CmdLineParser.Option resource;
  final private CmdLineParser.Option filePath;
  final private CmdLineParser.Option frameType;
  final private CmdLineParser.Option exportType;

  public MainProgramArgs(String [] args) {
    parser = new CmdLineParser();
    resource = parser.addStringOption('r', "resource");
    filePath = parser.addStringOption('f', "file");
    frameType = parser.addStringOption('t', "type");
    exportType = parser.addStringOption('x', "export");
        try {
      parser.parse(args);
      sframeType = (String) parser.getOptionValue(frameType, "auto");
      String resourceArg = (String) parser.getOptionValue(resource, null);
      if (resourceArg != null)
        sResource = resourceArg;
      else
        sResource = (String) parser.getOptionValue(filePath, null);
      sExportType = (String) parser.getOptionValue(exportType,null);
      remaining = parser.getRemainingArgs();
    } catch (IllegalOptionValueException e) {
            System.err.println("Error parsing args, defaulting to type auto, no file loading");
            System.err.println(e.getMessage());
            printUsage();
      e.printStackTrace();
      sframeType = "auto";
      sResource = null;
      remaining = null;
      sExportType = null;
    } catch (UnknownOptionException e) {
            System.err.println("Error parsing args, defaulting to type auto, no file loading");
            System.err.println(e.getMessage());
            printUsage();
      e.printStackTrace();
      sframeType = "auto";
      sResource = null;
      remaining = null;
      sExportType = null;
    }
  }

  public void printUsage() {
        System.err.println("Usage: all arguments are optional. By default will open a window with no files loaded.");
        System.err.println(" -" + resource.shortForm() + "/--" + resource.longForm() + ": resource to load (could be file or url)");
        System.err.println(" -" + filePath.shortForm() + "/--" + filePath.longForm() + ": path of file to load (deprecated, use resource arg instead)");
        System.err.println(" -" + frameType.shortForm() + "/--" + frameType.longForm() + ": string indicating type of frame (auto | linked | classic | kmeans), default is auto");
  }

  public String getFrameType() {
    return sframeType;
  }
  public String getFilePath() {
    return sResource;
  }
  public String[] remainingArgs() {
    return remaining;
  }
  public String getExportType() {
    return sExportType;
  }
}
TOP

Related Classes of edu.stanford.genetics.treeview.MainProgramArgs

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.