private void printParser(ParserSpec parser, PrintWriter pw, String indent) { pw.printf("%sParserSpec:%n", indent); indent += " "; pw.printf("%sseparator: '%s'%n", indent, parser.separator()); pw.printf("%sendOfOptionsDelimiter: '%s'%n", indent, parser.endOfOptionsDelimiter()); pw.printf("%sexpandAtFiles: %s%n", indent, parser.expandAtFiles()); pw.printf("%satFileCommentChar: '%s'%n", indent, parser.atFileCommentChar()); pw.printf("%soverwrittenOptionsAllowed: %s%n", indent, parser.overwrittenOptionsAllowed()); pw.printf("%sunmatchedArgumentsAllowed: %s%n", indent, parser.unmatchedArgumentsAllowed()); pw.printf("%sunmatchedOptionsArePositionalParams: %s%n", indent, parser.unmatchedOptionsArePositionalParams()); pw.printf("%sstopAtUnmatched: %s%n", indent, parser.stopAtUnmatched()); pw.printf("%sstopAtPositional: %s%n", indent, parser.stopAtPositional()); pw.printf("%sposixClusteredShortOptionsAllowed: %s%n", indent, parser.posixClusteredShortOptionsAllowed()); pw.printf("%saritySatisfiedByAttachedOptionParam: %s%n", indent, parser.aritySatisfiedByAttachedOptionParam()); pw.printf("%scaseInsensitiveEnumValuesAllowed: %s%n", indent, parser.caseInsensitiveEnumValuesAllowed()); pw.printf("%scollectErrors: %s%n", indent, parser.collectErrors()); pw.printf("%slimitSplit: %s%n", indent, parser.limitSplit()); pw.printf("%stoggleBooleanFlags: %s%n", indent, parser.toggleBooleanFlags()); }
String argDescription) throws Exception { updateHelpRequested(argSpec); boolean consumeOnlyOne = commandSpec.parser().aritySatisfiedByAttachedOptionParam() && lookBehind.isAttached(); Stack<String> workingStack = args; if (consumeOnlyOne) {
@Test public void testInterpreterProcessClusteredShortOptions_complex() { class App { @Option(names = "-x", arity = "1", split = ",") String x; @Parameters List<String> remainder; } App app = new App(); CommandLine cmd = new CommandLine(app); cmd.getCommandSpec().parser().aritySatisfiedByAttachedOptionParam(true); cmd.parseArgs("-xa,b,c", "d", "e"); assertEquals("a,b,c", app.x); assertEquals(Arrays.asList("d", "e"), app.remainder); }
String argDescription) throws Exception { updateHelpRequested(argSpec); boolean consumeOnlyOne = commandSpec.parser().aritySatisfiedByAttachedOptionParam() && lookBehind.isAttached(); Stack<String> workingStack = args; if (consumeOnlyOne) {
@Test public void testInterpreterProcessClusteredShortOptions_complex() { class App { @Option(names = "-x", arity = "1", split = ",") String x; @Parameters List<String> remainder; } App app = new App(); CommandLine cmd = new CommandLine(app); cmd.getCommandSpec().parser().aritySatisfiedByAttachedOptionParam(true); cmd.parseArgs("-xa,b,c", "d", "e"); assertEquals("a,b,c", app.x); assertEquals(Arrays.asList("d", "e"), app.remainder); }
private <T> T parseCommonsCliCompatible(T obj, String[] args) { CommandLine cmd = new CommandLine(obj); cmd.getCommandSpec().parser() .limitSplit(true) .aritySatisfiedByAttachedOptionParam(true); cmd.parseArgs(args); return obj; }
private <T> T parseCommonsCliCompatible(T obj, String[] args) { CommandLine cmd = new CommandLine(obj); cmd.getCommandSpec().parser() .limitSplit(true) .aritySatisfiedByAttachedOptionParam(true); cmd.parseArgs(args); return obj; }