@Override public String toString() { if (optionSet == null) return ""; String nonOptionArgs = ""; if (optionSet.nonOptionArguments() != null) { int i = 0; for (Object object : optionSet.nonOptionArguments()) { if (i > 0) nonOptionArgs += " "; nonOptionArgs += "\"" + object.toString() + "\""; i++; } } String optionArgs = ""; if (optionSet.asMap() != null) { int i = 0; for (Map.Entry<OptionSpec<?>, List<?>> entry : optionSet.asMap().entrySet()) { if (entry.getValue().size() > 0) { if (i > 0) optionArgs += " "; optionArgs += "--" + entry.getKey().options().get(0) + "=\"" + entry.getValue().get(0) + "\""; i++; } } } return nonOptionArgs + " " + optionArgs; }
for (OptionSpec<?> optSpec : parsedArguments.asMap().keySet()) { if (parsedArguments.has(optSpec)) { ArgumentDefinition argDef = argumentMap.get(optSpec.options().get(0));
@Test public void testOptionParser() throws Exception { OptionParser optionParser = new OptionParser(); String[] args = {"command", "--option2=1", "zookeeper", "--option1", "tablename", "--option3"}; optionParser.accepts("option2").withRequiredArg(); optionParser.accepts("option2").withRequiredArg(); optionParser.accepts("option3").withOptionalArg(); optionParser.accepts("option1"); OptionSet optionSet = optionParser.parse(args); List<?> argList = optionSet.nonOptionArguments(); System.out.println(argList); System.out.println(optionSet.asMap()); } }