@Override public TypedOption<T> setRequired(boolean required) { super.setRequired(required); return this; }
/** * Sets the default value of this option * * @param defaultValue the default value * @return the current {@link Option} instance */ public Option setDefaultValue(String defaultValue) { this.defaultValue = defaultValue; if (this.defaultValue != null) { setRequired(false); } return this; }
case "required": if (member.getValue() instanceof Boolean) { obj.setRequired((Boolean)member.getValue());
@Test public void testUsageComputationWhenUsingRequiredOptionAndArgument() { final CLI cli = CLI.create("test") .addOption(new Option().setLongName("file").setShortName("f").setDescription("a file").setRequired(true)) .addArgument(new Argument().setArgName("foo").setDescription("foo").setRequired(true)); StringBuilder builder = new StringBuilder(); cli.usage(builder); assertThat(builder.toString()) .contains("test -f <value> foo") .contains(" -f,--file <value> a file") .contains("<foo> foo"); }
@Test public void testHelpOption() { CLI cli = new DefaultCLI().setName("test"); cli.addOption(new Option().setLongName("foo").setRequired(true)); cli.addOption(new Option().setLongName("help").setShortName("h").setHelp(true).setFlag(true));
.setFlag(option.flag()) .setHelp(option.help()) .setRequired(option.required());
@Test public void testUsageComputationWithSeveralArguments() { final CLI cli = CLI.create("test") .addOption(new Option().setLongName("file").setShortName("f").setDescription("a file").setRequired(true)) .addArgument(new Argument().setIndex(0).setArgName("foo").setDescription("foo")) .addArgument(new Argument().setIndex(1)) .addArgument(new Argument().setIndex(2).setArgName("bar").setDescription("bar")); StringBuilder builder = new StringBuilder(); cli.usage(builder); assertThat(builder.toString()) .contains("test -f <value> foo value bar") .contains(" -f,--file <value> a file") .contains("<foo> foo") .contains("<value>") .contains("<bar> bar"); }
@Override public TypedOption<T> setRequired(boolean required) { super.setRequired(required); return this; }
@Test public void testUsageComputationWithHiddenArguments() { final CLI cli = CLI.create("test") .addOption(new Option().setLongName("file").setShortName("f").setDescription("a file").setRequired(true)) .addArgument(new Argument().setIndex(0).setArgName("foo").setDescription("foo")) .addArgument(new Argument().setIndex(1)) .addArgument(new Argument().setIndex(2).setArgName("bar").setDescription("bar").setHidden(true)); StringBuilder builder = new StringBuilder(); cli.usage(builder); assertThat(builder.toString()) .contains("test -f <value> foo value") .contains(" -f,--file <value> a file") .contains("<foo> foo") .contains("<value>") .doesNotContain("bar"); }
/** * Sets the default value of this option * * @param defaultValue the default value * @return the current {@link Option} instance */ public Option setDefaultValue(String defaultValue) { this.defaultValue = defaultValue; if (this.defaultValue != null) { setRequired(false); } return this; }
case "required": if (member.getValue() instanceof Boolean) { obj.setRequired((Boolean)member.getValue());
@Test public void testUsageComputationWhenUsingRequiredOptionAndArgument() { final CLI cli = CLI.create("test") .addOption(new Option().setLongName("file").setShortName("f").setDescription("a file").setRequired(true)) .addArgument(new Argument().setArgName("foo").setDescription("foo").setRequired(true)); StringBuilder builder = new StringBuilder(); cli.usage(builder); assertThat(builder.toString()) .contains("test -f <value> foo") .contains(" -f,--file <value> a file") .contains("<foo> foo"); }
@Test public void testHelpOption() { CLI cli = new DefaultCLI().setName("test"); cli.addOption(new Option().setLongName("foo").setRequired(true)); cli.addOption(new Option().setLongName("help").setShortName("h").setHelp(true).setFlag(true));
.setFlag(option.flag()) .setHelp(option.help()) .setRequired(option.required());
@Test public void testUsageComputationWithSeveralArguments() { final CLI cli = CLI.create("test") .addOption(new Option().setLongName("file").setShortName("f").setDescription("a file").setRequired(true)) .addArgument(new Argument().setIndex(0).setArgName("foo").setDescription("foo")) .addArgument(new Argument().setIndex(1)) .addArgument(new Argument().setIndex(2).setArgName("bar").setDescription("bar")); StringBuilder builder = new StringBuilder(); cli.usage(builder); assertThat(builder.toString()) .contains("test -f <value> foo value bar") .contains(" -f,--file <value> a file") .contains("<foo> foo") .contains("<value>") .contains("<bar> bar"); }
@Test public void testUsageComputationWithHiddenArguments() { final CLI cli = CLI.create("test") .addOption(new Option().setLongName("file").setShortName("f").setDescription("a file").setRequired(true)) .addArgument(new Argument().setIndex(0).setArgName("foo").setDescription("foo")) .addArgument(new Argument().setIndex(1)) .addArgument(new Argument().setIndex(2).setArgName("bar").setDescription("bar").setHidden(true)); StringBuilder builder = new StringBuilder(); cli.usage(builder); assertThat(builder.toString()) .contains("test -f <value> foo value") .contains(" -f,--file <value> a file") .contains("<foo> foo") .contains("<value>") .doesNotContain("bar"); }
.setLongName(TestUtils.randomAlphaString(100)) .setMultiValued(TestUtils.randomBoolean()) .setRequired(TestUtils.randomBoolean()) .setShortName(TestUtils.randomAlphaString(100)) .setSingleValued(TestUtils.randomBoolean());
.setShortName("c") .setDescription("vert.x config file (in json format)") .setRequired(true) .setShortName("hc") .setDescription("vert.x hazelcast configuration file") .setRequired(false) .setShortName("hh") .setDescription("vert.x hazelcast ip address of this node (es. -hh 10.0.0.1)") .setRequired(false) .setShortName("hm") .setDescription("vert.x hazelcast list of tcp-ip members to add (es. -hm 10.0.0.1 10.0.0.2 10.0.0.3)") .setRequired(false) .setMultiValued(true)
.setLongName(TestUtils.randomAlphaString(100)) .setMultiValued(TestUtils.randomBoolean()) .setRequired(TestUtils.randomBoolean()) .setShortName(TestUtils.randomAlphaString(100)) .setSingleValued(TestUtils.randomBoolean());