List of usage examples for org.apache.commons.cli Option hasArg
public boolean hasArg()
From source file:org.eclim.command.Main.java
public static void usage(String cmd, PrintStream out) { ArrayList<org.eclim.annotation.Command> commands = new ArrayList<org.eclim.annotation.Command>(); for (Class<? extends Command> command : Services.getCommandClasses()) { commands.add(command.getAnnotation(org.eclim.annotation.Command.class)); }//from w ww. j av a 2s . c o m Collections.sort(commands, new Comparator<org.eclim.annotation.Command>() { public int compare(org.eclim.annotation.Command o1, org.eclim.annotation.Command o2) { return o1.name().compareTo(o2.name()); } }); boolean cmdFound = cmd == null; if (cmd == null) { String osOpts = StringUtils.EMPTY; if (SystemUtils.IS_OS_UNIX) { osOpts = " [-f eclimrc] [--nailgun-port port]"; } out.println("Usage: eclim" + osOpts + " -command command [args]"); out.println(" To view a full list of available commands:"); out.println(" eclim -? commands"); out.println(" To view info for a specific command:"); out.println(" eclim -? <command_name>"); out.println(" Ex."); out.println(" eclim -? project_create"); } else if (cmd.equals("commands")) { out.println("Available Commands:"); } else { out.println("Requested Command:"); } for (org.eclim.annotation.Command command : commands) { if (cmd == null || (!cmd.equals(command.name()) && !cmd.equals("commands"))) { continue; } cmdFound = true; Collection<Option> options = new Options().parseOptions(command.options()); StringBuffer opts = new StringBuffer(); Iterator<Option> iterator = options.iterator(); for (int ii = 0; iterator.hasNext(); ii++) { Option option = iterator.next(); opts.append(option.isRequired() ? " " : " ["); opts.append('-').append(option.getOpt()); if (option.hasArg()) { opts.append(' ').append(option.getLongOpt()); } if (!option.isRequired()) { opts.append(']'); } // wrap every 4 options if ((ii + 1) % 4 == 0 && ii != options.size() - 1) { opts.append(StringUtils.rightPad("\n", command.name().length() + 5)); } } StringBuffer info = new StringBuffer().append(" ").append(command.name()).append(opts); out.println(info); if (!command.description().equals(StringUtils.EMPTY)) { out.println(" " + command.description()); } } if (!cmdFound) { out.println(" No Such Command: " + cmd); } }
From source file:org.finra.dm.core.ArgumentParserTest.java
@Test public void testAddArgument() { Option opt1 = new Option("a", "some_flag", false, "Some flag parameter"); Option opt2 = new Option("b", "some_parameter", true, "Some parameter with an argument"); List<String> optionsIn = Arrays.asList(optionToString(opt1), optionToString(opt2)); ArgumentParser argParser = new ArgumentParser(""); argParser.addArgument(opt1, true);//from w w w . j a v a 2 s. com argParser.addArgument(opt2.getOpt(), opt2.getLongOpt(), opt2.hasArg(), opt2.getDescription(), false); Collection resultOptions = argParser.getConfiguredOptions(); List<String> optionsOut = new ArrayList<>(); for (Object obj : resultOptions) { assertTrue(obj instanceof Option); optionsOut.add(optionToString((Option) obj)); } optionsOut.containsAll(optionsIn); optionsIn.containsAll(optionsOut); }
From source file:org.finra.dm.core.ArgumentParserTest.java
@Test public void testGetUsageInformation() { List<Option> optionsIn = new ArrayList<>(); optionsIn.add(new Option("a", "some_flag", false, "Some flag parameter")); optionsIn.add(new Option("b", "some_parameter", true, "Some parameter with an argument")); ArgumentParser argParser = new ArgumentParser("TestApp"); argParser.addArgument(optionsIn.get(0), false); argParser.addArgument(optionsIn.get(1), true); String usage = argParser.getUsageInformation(); assertNotNull(usage);// w w w. j av a2 s. c o m assertTrue(usage.contains(String.format("usage: %s", argParser.getApplicationName()))); for (Option option : optionsIn) { assertTrue(usage.contains(String.format("-%s,", option.getOpt()))); assertTrue(usage.contains(String.format("--%s", option.getLongOpt()))); assertTrue(usage.contains(option.getDescription())); assertTrue(!option.hasArg() || usage.contains(String.format("<%s>", option.getArgName()))); } }
From source file:org.finra.dm.core.ArgumentParserTest.java
/** * Dump state of the Option object instance, suitable for debugging and comparing Options as Strings. * * @param option the Option object instance to dump the state of * * @return Stringified form of this Option object instance *//*from w w w. ja v a 2s.com*/ private String optionToString(Option option) { StringBuilder buf = new StringBuilder(); buf.append("[ option: "); buf.append(option.getOpt()); if (option.getLongOpt() != null) { buf.append(" ").append(option.getLongOpt()); } buf.append(" "); if (option.hasArg()) { buf.append(" [ARG]"); } buf.append(" :: ").append(option.getDescription()); if (option.isRequired()) { buf.append(" [REQUIRED]"); } buf.append(" ]"); return buf.toString(); }
From source file:org.finra.herd.core.ArgumentParserTest.java
@Test public void testGetUsageInformation() { List<Option> optionsIn = new ArrayList<>(); optionsIn.add(new Option("a", "some_flag", false, "Some flag parameter")); optionsIn.add(new Option("b", "some_parameter", true, "Some parameter with an argument")); ArgumentParser argParser = new ArgumentParser("TestApp"); argParser.addArgument(optionsIn.get(0), false); argParser.addArgument(optionsIn.get(1), true); String usage = argParser.getUsageInformation(); assertNotNull(usage);/*from w ww .j av a 2 s . c o m*/ assertTrue(usage.contains(String.format("usage: %s", argParser.getApplicationName()))); for (Option option : optionsIn) { assertTrue(usage.contains(String.format("-%s,", option.getOpt()))); assertTrue(usage.contains(String.format("--%s", option.getLongOpt()))); assertTrue(usage.contains(option.getDescription())); assertTrue(!option.hasArg() || usage.contains("<arg>")); } }
From source file:org.g_node.srv.CliOptionServiceTest.java
/** * Main assertions of all option arguments. * @param opt The actual {@link Option}. * @param shortOpt Short commandline argument of the current option. * @param longOpt Long commandline argument of the current option. * @param desc Description text of the current option. * @param isRequired Whether the current option is a required commandline argument. * @param hasArguments Whether the current option requires an additional argument. *///from w w w .j a v a 2s .c om private void assertOption(final Option opt, final String shortOpt, final String longOpt, final String desc, final Boolean isRequired, final Boolean hasArgument, final Boolean hasArguments) { assertThat(opt.getOpt()).isEqualToIgnoringCase(shortOpt); assertThat(opt.getLongOpt()).isEqualToIgnoringCase(longOpt); assertThat(opt.getDescription()).contains(desc); assertThat(opt.isRequired()).isEqualTo(isRequired); assertThat(opt.hasArg()).isEqualTo(hasArgument); assertThat(opt.hasArgs()).isEqualTo(hasArguments); }
From source file:org.ldaptive.cli.AbstractCli.java
/** * Reads the options from the supplied command line and returns a properties * containing those options./*w w w . j a va2 s.co m*/ * * @param domain to place property names in * @param line command line * * @return properties for each option and value */ protected Properties getPropertiesFromOptions(final String domain, final CommandLine line) { final Properties props = new Properties(); for (Option o : line.getOptions()) { if (o.hasArg()) { // if provider property, split the value // else add the domain to the ldaptive properties if (o.getOpt().equals(OPT_PROVIDER_PROPERTIES)) { final String[] s = o.getValue().split("="); props.setProperty(s[0], s[1]); } else { props.setProperty(domain + o.getOpt(), o.getValue()); } } } return props; }
From source file:org.ldp4j.tutorial.client.ContactsShell.java
protected void debug(String command, CommandLine commandLine) { this.console.message("- Command: ").metadata(command).message("%n"); for (Option opt : options.getOptions()) { if (commandLine.hasOption(opt.getOpt())) { if (!opt.hasArg()) { this.console.metadata(" + %s%n", opt.getOpt()); } else { if (!opt.hasArgs()) { this.console.metadata(" + %s: ", opt.getOpt()).data("%s%n", commandLine.getOptionValue(opt.getOpt())); } else { this.console.metadata(" + %s: ", opt.getOpt()).data("%s%n", Arrays.toString(commandLine.getOptionValues(opt.getOpt()))); }/*ww w . java 2 s . co m*/ } } } List<String> argList = commandLine.getArgList(); if (!argList.isEmpty()) { this.console.metadata(" + Arguments:%n"); for (String arg : argList) { this.console.metadata(" * ").data("%s%n", arg); } } }
From source file:org.mitre.secretsharing.cli.cmd.AbstractCommand.java
protected String checkArgument(CommandLine cmd, Option o) { String invalid = ""; if (!requiredArguments().contains(o)) return invalid; if ((o.getOpt() == null || !cmd.hasOption(o.getOpt().charAt(0))) && !cmd.hasOption(o.getLongOpt())) { if (o.getOpt() != null) invalid += "-" + o.getOpt() + ","; invalid += "--" + o.getLongOpt(); if (o.hasArg()) invalid += " <" + o.getArgName() + ">"; invalid += " is missing.\n"; }// www . j a v a2s .co m return invalid; }
From source file:org.pz.platypus.commandline.ClParser.java
/** * Does the option expect an argument?/*from w w w .j av a2 s . c o m*/ */ protected boolean doesOptionHaveArg(String option) { Option opt = options.getOption(option); if (opt != null) { return (opt.hasArg()); } return (false); }