Example usage for org.apache.commons.cli Option getArgs

List of usage examples for org.apache.commons.cli Option getArgs

Introduction

In this page you can find the example usage for org.apache.commons.cli Option getArgs.

Prototype

public int getArgs() 

Source Link

Document

Returns the number of argument values this Option can take.

Usage

From source file:ch.cyberduck.cli.TerminalOptionsInputValidator.java

public boolean validate(final CommandLine input) {
    for (Option o : input.getOptions()) {
        if (Option.UNINITIALIZED == o.getArgs()) {
            continue;
        }//from  w  ww. ja v  a2  s. c  om
        if (o.hasOptionalArg()) {
            continue;
        }
        if (o.getArgs() != o.getValuesList().size()) {
            console.printf("Missing argument for option %s%n", o.getLongOpt());
            return false;
        }
    }
    final TerminalAction action = TerminalActionFinder.get(input);
    if (null == action) {
        console.printf("%s%n", "Missing argument");
        return false;
    }
    if (input.hasOption(TerminalOptionsBuilder.Params.existing.name())) {
        final String arg = input.getOptionValue(TerminalOptionsBuilder.Params.existing.name());
        if (null == TransferAction.forName(arg)) {
            final Set<TransferAction> actions = new HashSet<TransferAction>(
                    TransferAction.forTransfer(Transfer.Type.download));
            actions.add(TransferAction.cancel);
            console.printf("Invalid argument '%s' for option %s. Must be one of %s%n", arg,
                    TerminalOptionsBuilder.Params.existing.name(), Arrays.toString(actions.toArray()));
            return false;
        }
        switch (action) {
        case download:
            if (!validate(arg, Transfer.Type.download)) {
                return false;
            }
            break;
        case upload:
            if (!validate(arg, Transfer.Type.upload)) {
                return false;
            }
            break;
        case synchronize:
            if (!validate(arg, Transfer.Type.sync)) {
                return false;
            }
            break;
        case copy:
            if (!validate(arg, Transfer.Type.copy)) {
                return false;
            }
            break;
        }
    }
    // Validate arguments
    switch (action) {
    case list:
    case download:
        if (!validate(input.getOptionValue(action.name()))) {
            return false;
        }
        break;
    case upload:
    case copy:
    case synchronize:
        if (!validate(input.getOptionValue(action.name()))) {
            return false;
        }
        break;
    }
    return true;
}

From source file:com.marklogic.contentpump.utilities.CommandlineOption.java

public CommandlineOption(Option opt) throws IllegalArgumentException {
    super(opt.getOpt(), opt.hasArg(), opt.getDescription());

    this.setLongOpt(opt.getLongOpt());
    this.setRequired(opt.isRequired());
    this.setArgName(opt.getArgName());
    this.setArgs(opt.getArgs());
    this.setOptionalArg(opt.hasOptionalArg());
    this.setType(opt.getType());
    this.setValueSeparator(opt.getValueSeparator());
}

From source file:net.nicholaswilliams.java.licensing.licensor.interfaces.cli.spi.TestCliOptionsBuilder.java

@Test
public void testHasArgs() {
    Option option = this.builder.hasArgs().create("test");
    assertNotNull("The option should not be null.", option);
    assertTrue("hasArgs should be true.", option.hasArgs());
    assertEquals("getArgs is not correct.", -2, option.getArgs());
}

From source file:net.nicholaswilliams.java.licensing.licensor.interfaces.cli.spi.TestCliOptionsBuilder.java

@Test
public void testHasArgsIntArg() {
    Option option = this.builder.hasArgs(5).create("test");
    assertNotNull("The option should not be null.", option);
    assertTrue("hasArgs should be true.", option.hasArgs());
    assertEquals("getArgs is not correct.", 5, option.getArgs());
}

From source file:net.nicholaswilliams.java.licensing.licensor.interfaces.cli.spi.TestCliOptionsBuilder.java

@Test
public void testHasOptionalArgs() {
    Option option = this.builder.hasOptionalArgs().create("test");
    assertNotNull("The option should not be null.", option);
    assertTrue("hasOptionalArg should be true.", option.hasOptionalArg());
    assertEquals("getArgs is not correct.", -2, option.getArgs());
}

From source file:net.nicholaswilliams.java.licensing.licensor.interfaces.cli.spi.TestCliOptionsBuilder.java

@Test
public void testHasOptionalArgsIntArg() {
    Option option = this.builder.hasOptionalArgs(9).create("test");
    assertNotNull("The option should not be null.", option);
    assertTrue("hasOptionalArg should be true.", option.hasOptionalArg());
    assertEquals("getArgs is not correct.", 9, option.getArgs());
}

From source file:com.emc.ecs.sync.config.ConfigUtilTest.java

private void assertOption(org.apache.commons.cli.Option option, String longOpt, boolean required, int args,
        String argName) {/*from  w  w w. j  a  v  a2s.co  m*/
    Assert.assertNull(option.getOpt());
    Assert.assertEquals(longOpt, option.getLongOpt());
    Assert.assertEquals(required, option.isRequired());
    Assert.assertEquals(args, option.getArgs());
    Assert.assertEquals(argName, option.getArgName());
}

From source file:de.uni_koblenz.ist.utilities.option_handler.OptionHandler.java

/**
 * Used by the method getUsageString for adding an Option to the String.
 * //  w w w  .j  a  v  a2s.  c o m
 * @param out
 *            The StringBuilder to write into.
 * @param current
 *            The option to add.
 */
private void appendOption(StringBuilder out, Option current) {
    out.append("-");
    out.append(current.getOpt());
    int numberOfArgs = current.getArgs();
    out.append(" ");
    if (current.hasOptionalArg()) {
        out.append("[");
    }
    if (numberOfArgs == Option.UNLIMITED_VALUES) {
        appendArgName(out, current);
        out.append("{");
        out.append(current.getValueSeparator());
        appendArgName(out, current);
        out.append("}");
    }
    if (numberOfArgs >= 1) {
        appendArgName(out, current);
        for (int i = 1; i < numberOfArgs; i++) {
            out.append(current.getValueSeparator());
            appendArgName(out, current);
        }
    }
    if (current.hasOptionalArg()) {
        out.append("]");
    }
}

From source file:org.apache.helix.task.TaskDriver.java

/** Ensures options argument counts are correct */
private static boolean checkOptionArgsNumber(Option[] options) {
    for (Option option : options) {
        int argNb = option.getArgs();
        String[] args = option.getValues();
        if (argNb == 0) {
            if (args != null && args.length > 0) {
                System.err.println(option.getArgName() + " shall have " + argNb + " arguments (was "
                        + Arrays.toString(args) + ")");
                return false;
            }/*from   w w w. jav a  2  s. c  om*/
        } else {
            if (args == null || args.length != argNb) {
                System.err.println(option.getArgName() + " shall have " + argNb + " arguments (was "
                        + Arrays.toString(args) + ")");
                return false;
            }
        }
    }
    return true;
}

From source file:org.apache.helix.tools.JmxDumper.java

private static boolean checkOptionArgsNumber(Option[] options) {
    for (Option option : options) {
        int argNb = option.getArgs();
        String[] args = option.getValues();
        if (argNb == 0) {
            if (args != null && args.length > 0) {
                System.err.println(option.getArgName() + " shall have " + argNb + " arguments (was "
                        + Arrays.toString(args) + ")");
                return false;
            }/*from ww  w. j  a  v  a2  s . c o  m*/
        } else {
            if (args == null || args.length != argNb) {
                System.err.println(option.getArgName() + " shall have " + argNb + " arguments (was "
                        + Arrays.toString(args) + ")");
                return false;
            }
        }
    }
    return true;
}