This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-cli.git
The following commit(s) were added to refs/heads/master by this push:
new c9698e62 [CLI-333] org.apache.commons.cli.Option.Builder implements
Supplier<Option>
c9698e62 is described below
commit c9698e622f3e0d2fe1d304056b28c24ff7d02e81
Author: Gary D. Gregory <[email protected]>
AuthorDate: Tue Jul 29 10:52:03 2025 -0400
[CLI-333] org.apache.commons.cli.Option.Builder implements
Supplier<Option>
---
src/changes/changes.xml | 3 +-
src/main/java/org/apache/commons/cli/Option.java | 15 ++-
.../apache/commons/cli/PatternOptionBuilder.java | 4 +-
.../apache/commons/cli/AbstractParserTestCase.java | 8 +-
.../org/apache/commons/cli/CommandLineTest.java | 66 +++++------
.../org/apache/commons/cli/DefaultParserTest.java | 44 ++++----
.../org/apache/commons/cli/HelpFormatterTest.java | 77 ++++++-------
.../java/org/apache/commons/cli/OptionTest.java | 63 ++++++-----
.../java/org/apache/commons/cli/OptionsTest.java | 54 ++++-----
.../java/org/apache/commons/cli/SolrCliTest.java | 122 ++++++++++-----------
.../org/apache/commons/cli/SolrCreateToolTest.java | 84 +++++++-------
.../java/org/apache/commons/cli/ValueTest.java | 2 +-
.../org/apache/commons/cli/bug/BugCLI252Test.java | 4 +-
.../org/apache/commons/cli/bug/BugCLI265Test.java | 8 +-
.../org/apache/commons/cli/bug/BugCLI266Test.java | 51 ++++-----
.../org/apache/commons/cli/bug/BugCLI312Test.java | 8 +-
.../org/apache/commons/cli/bug/BugCLI325Test.java | 7 +-
.../apache/commons/cli/help/HelpFormatterTest.java | 100 ++++++++---------
.../commons/cli/help/OptionFormatterTest.java | 54 ++++-----
19 files changed, 384 insertions(+), 390 deletions(-)
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 86c04543..4524d670 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -41,7 +41,8 @@
<action type="add" issue="CLI-339" dev="ggregory" due-to="Claude Warren,
Gary Gregory">Help formatter extension in the new package #314.</action>
<action type="add" dev="ggregory" due-to="Gary
Gregory">CommandLine.Builder implements Supplier<CommandLine>.</action>
<action type="add" dev="ggregory" due-to="Gary
Gregory">DefaultParser.Builder implements
Supplier<DefaultParser>.</action>
- <action type="add" issue="CLI-340" dev="ggregory" due-to="Claude Warren,
Gary Gregory">Add CommandLine.getParsedOptionValues() #334.</action>
+ <action type="add" issue="CLI-340" dev="ggregory" due-to="Claude Warren,
Gary Gregory">Add CommandLine.getParsedOptionValues() #334.</action>
+ <action type="add" issue="CLI-333" dev="ggregory" due-to="Claude Warren,
Gary Gregory">org.apache.commons.cli.Option.Builder implements
Supplier<Option>.</action>
<!-- UPDATE -->
<action type="update" dev="ggregory" due-to="Gary Gregory,
Dependabot">Bump org.apache.commons:commons-parent from 72 to 85 #302, #304,
#310, #315, #320, #327, #371.</action>
<action type="update" dev="ggregory" due-to="Gary Gregory,
Dependabot">[test] Bump commons-io:commons-io from 2.16.1 to 2.20.0 #309,
#337.</action>
diff --git a/src/main/java/org/apache/commons/cli/Option.java
b/src/main/java/org/apache/commons/cli/Option.java
index e725fa3c..3ee0133b 100644
--- a/src/main/java/org/apache/commons/cli/Option.java
+++ b/src/main/java/org/apache/commons/cli/Option.java
@@ -23,6 +23,7 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
+import java.util.function.Supplier;
/**
* Describes a single command-line option. It maintains information regarding
the short-name of the option, the long-name, if any exists, a flag indicating if
@@ -51,7 +52,7 @@ public class Option implements Cloneable, Serializable {
*
* @since 1.3
*/
- public static final class Builder {
+ public static final class Builder implements Supplier<Option> {
/** The default type. */
private static final Class<String> DEFAULT_TYPE = String.class;
@@ -128,8 +129,20 @@ public class Option implements Cloneable, Serializable {
*
* @return the new {@link Option}.
* @throws IllegalArgumentException if neither {@code opt} or {@code
longOpt} has been set.
+ * @deprecated Use {@link #get()}.
*/
+ @Deprecated
public Option build() {
+ return get();
+ }
+
+ /**
+ * Constructs an Option with the values declared by this {@link
Builder}.
+ *
+ * @return the new {@link Option}.
+ * @throws IllegalArgumentException if neither {@code opt} or {@code
longOpt} has been set.
+ */
+ public Option get() {
if (option == null && longOption == null) {
throw new IllegalArgumentException("Either opt or longOpt must
be specified");
}
diff --git a/src/main/java/org/apache/commons/cli/PatternOptionBuilder.java
b/src/main/java/org/apache/commons/cli/PatternOptionBuilder.java
index dc11c697..e62ce40b 100644
--- a/src/main/java/org/apache/commons/cli/PatternOptionBuilder.java
+++ b/src/main/java/org/apache/commons/cli/PatternOptionBuilder.java
@@ -191,7 +191,7 @@ public class PatternOptionBuilder {
.required(required)
.type(type)
.converter(converter)
- .build();
+ .get();
// @formatter:on
// we have a previous one to deal with
options.addOption(option);
@@ -213,7 +213,7 @@ public class PatternOptionBuilder {
}
if (opt != Char.SP) {
- final Option option =
Option.builder(String.valueOf(opt)).hasArg(type !=
null).required(required).type(type).build();
+ final Option option =
Option.builder(String.valueOf(opt)).hasArg(type !=
null).required(required).type(type).get();
// we have a final one to deal with
options.addOption(option);
diff --git a/src/test/java/org/apache/commons/cli/AbstractParserTestCase.java
b/src/test/java/org/apache/commons/cli/AbstractParserTestCase.java
index e71ae503..b3e05683 100644
--- a/src/test/java/org/apache/commons/cli/AbstractParserTestCase.java
+++ b/src/test/java/org/apache/commons/cli/AbstractParserTestCase.java
@@ -87,8 +87,8 @@ public abstract class AbstractParserTestCase {
void testAmbiguousLongWithoutEqualSingleDash2() throws Exception {
final String[] args = { "-b", "-foobar" };
final Options options = new Options();
-
options.addOption(Option.builder().longOpt("foo").option("f").optionalArg(true).build());
-
options.addOption(Option.builder().longOpt("bar").option("b").optionalArg(false).build());
+
options.addOption(Option.builder().longOpt("foo").option("f").optionalArg(true).get());
+
options.addOption(Option.builder().longOpt("bar").option("b").optionalArg(false).get());
final CommandLine cl = parser.parse(options, args);
assertTrue(cl.hasOption("b"));
assertTrue(cl.hasOption("f"));
@@ -380,7 +380,7 @@ public abstract class AbstractParserTestCase {
@Test
void testOptionalArgsOptionDotBuilder() throws Exception {
final Options options = new Options();
-
options.addOption(Option.builder("i").numberOfArgs(2).optionalArg(true).build());
+
options.addOption(Option.builder("i").numberOfArgs(2).optionalArg(true).get());
final Properties properties = new Properties();
CommandLine cmd = parse(parser, options, new String[] { "-i" },
properties);
@@ -400,7 +400,7 @@ public abstract class AbstractParserTestCase {
assertArrayEquals(new String[] { "paper", "scissors" },
cmd.getOptionValues("i"));
assertArrayEquals(new String[] { "rock" }, cmd.getArgs());
-
options.addOption(Option.builder("j").numberOfArgs(3).optionalArg(true).build());
+
options.addOption(Option.builder("j").numberOfArgs(3).optionalArg(true).get());
cmd = parse(parser, options, new String[] { "-j" }, properties);
}
diff --git a/src/test/java/org/apache/commons/cli/CommandLineTest.java
b/src/test/java/org/apache/commons/cli/CommandLineTest.java
index 30125df7..6de605a5 100644
--- a/src/test/java/org/apache/commons/cli/CommandLineTest.java
+++ b/src/test/java/org/apache/commons/cli/CommandLineTest.java
@@ -43,8 +43,8 @@ class CommandLineTest {
private static Stream<Arguments> createHasOptionParameters() throws
ParseException {
final List<Arguments> lst = new ArrayList<>();
- final Option optT =
Option.builder().option("T").longOpt("tee").deprecated().optionalArg(true).build();
- final Option optU =
Option.builder("U").longOpt("you").optionalArg(true).build();
+ final Option optT =
Option.builder().option("T").longOpt("tee").deprecated().optionalArg(true).get();
+ final Option optU =
Option.builder("U").longOpt("you").optionalArg(true).get();
final OptionGroup optionGroup = new
OptionGroup().addOption(optT).addOption(optU);
final String[] foobar = { "foo", "bar" };
@@ -75,8 +75,8 @@ class CommandLineTest {
private static Stream<Arguments> createOptionValueParameters() throws
ParseException {
final List<Arguments> lst = new ArrayList<>();
- final Option optT =
Option.builder().option("T").longOpt("tee").deprecated().optionalArg(true).build();
- final Option optU =
Option.builder("U").longOpt("you").optionalArg(true).build();
+ final Option optT =
Option.builder().option("T").longOpt("tee").deprecated().optionalArg(true).get();
+ final Option optU =
Option.builder("U").longOpt("you").optionalArg(true).get();
final OptionGroup optionGroup = new
OptionGroup().addOption(optT).addOption(optU);
// T set
@@ -106,8 +106,8 @@ class CommandLineTest {
private static Stream<Arguments> createOptionValuesParameters() throws
ParseException {
final List<Arguments> lst = new ArrayList<>();
- final Option optT =
Option.builder().option("T").longOpt("tee").numberOfArgs(2).deprecated().optionalArg(true).build();
- final Option optU =
Option.builder("U").longOpt("you").numberOfArgs(2).optionalArg(true).build();
+ final Option optT =
Option.builder().option("T").longOpt("tee").numberOfArgs(2).deprecated().optionalArg(true).get();
+ final Option optU =
Option.builder("U").longOpt("you").numberOfArgs(2).optionalArg(true).get();
final OptionGroup optionGroup = new
OptionGroup().addOption(optT).addOption(optU);
final String[] foobar = { "foo", "bar" };
@@ -138,8 +138,8 @@ class CommandLineTest {
private static Stream<Arguments> createParsedOptionValueParameters()
throws ParseException {
final List<Arguments> lst = new ArrayList<>();
- final Option optT =
Option.builder().option("T").longOpt("tee").deprecated().type(Integer.class).optionalArg(true).build();
- final Option optU =
Option.builder("U").longOpt("you").type(Integer.class).optionalArg(true).build();
+ final Option optT =
Option.builder().option("T").longOpt("tee").deprecated().type(Integer.class).optionalArg(true).get();
+ final Option optU =
Option.builder("U").longOpt("you").type(Integer.class).optionalArg(true).get();
final OptionGroup optionGroup = new
OptionGroup().addOption(optT).addOption(optU);
final Integer expected = Integer.valueOf(1);
@@ -170,8 +170,8 @@ class CommandLineTest {
private static Stream<Arguments> createParsedOptionValuesParameters()
throws ParseException {
final List<Arguments> lst = new ArrayList<>();
- final Option optT =
Option.builder().option("T").longOpt("tee").deprecated().type(Integer.class).optionalArg(true).hasArgs().build();
- final Option optU =
Option.builder("U").longOpt("you").type(Integer.class).optionalArg(true).hasArgs().build();
+ final Option optT =
Option.builder().option("T").longOpt("tee").deprecated().type(Integer.class).optionalArg(true).hasArgs().get();
+ final Option optU =
Option.builder("U").longOpt("you").type(Integer.class).optionalArg(true).hasArgs().get();
final OptionGroup optionGroup = new
OptionGroup().addOption(optT).addOption(optU);
final Integer[] expected = {1, 2};
@@ -234,8 +234,8 @@ class CommandLineTest {
void testBadGetParsedOptionValue() throws Exception {
final Options options = new Options();
-
options.addOption(Option.builder("i").hasArg().type(Number.class).build());
- options.addOption(Option.builder("c").hasArg().converter(s ->
Count.valueOf(s.toUpperCase())).build());
+
options.addOption(Option.builder("i").hasArg().type(Number.class).get());
+ options.addOption(Option.builder("c").hasArg().converter(s ->
Count.valueOf(s.toUpperCase())).get());
final CommandLineParser parser = new DefaultParser();
final CommandLine cmd = parser.parse(options, new String[] {"-i",
"foo", "-c", "bar"});
@@ -250,7 +250,7 @@ class CommandLineTest {
final CommandLine cmd = CommandLine.builder()
.addArg("foo")
.addArg("bar")
- .addOption(Option.builder("T").build())
+ .addOption(Option.builder("T").get())
.build();
// @formatter:on
assertEquals("foo", cmd.getArgs()[0]);
@@ -264,7 +264,7 @@ class CommandLineTest {
final CommandLine cmd = CommandLine.builder()
.addArg("foo")
.addArg("bar")
- .addOption(Option.builder("T").build())
+ .addOption(Option.builder("T").get())
.get();
// @formatter:on
assertEquals("foo", cmd.getArgs()[0]);
@@ -276,7 +276,7 @@ class CommandLineTest {
void testBuilderNullArgs() {
final CommandLine.Builder builder = CommandLine.builder();
builder.addArg(null).addArg(null);
- builder.addOption(Option.builder("T").build());
+ builder.addOption(Option.builder("T").get());
final CommandLine cmd = builder.build();
assertEquals(0, cmd.getArgs().length);
@@ -302,8 +302,8 @@ class CommandLineTest {
final String[] args = {"-Dparam1=value1", "-Dparam2=value2",
"-Dparam3", "-Dparam4=value4", "-D", "--property", "foo=bar"};
final Options options = new Options();
-
options.addOption(Option.builder("D").valueSeparator().optionalArg(true).numberOfArgs(2).build());
-
options.addOption(Option.builder().valueSeparator().numberOfArgs(2).longOpt("property").build());
+
options.addOption(Option.builder("D").valueSeparator().optionalArg(true).numberOfArgs(2).get());
+
options.addOption(Option.builder().valueSeparator().numberOfArgs(2).longOpt("property").get());
final Parser parser = new GnuParser();
final CommandLine cl = parser.parse(options, args);
@@ -324,8 +324,8 @@ class CommandLineTest {
final String[] args = {"-Dparam1=value1", "-Dparam2=value2",
"-Dparam3", "-Dparam4=value4", "-D", "--property", "foo=bar"};
final Options options = new Options();
- final Option optionD =
Option.builder("D").valueSeparator().numberOfArgs(2).optionalArg(true).build();
- final Option optionProperty =
Option.builder().valueSeparator().numberOfArgs(2).longOpt("property").build();
+ final Option optionD =
Option.builder("D").valueSeparator().numberOfArgs(2).optionalArg(true).get();
+ final Option optionProperty =
Option.builder().valueSeparator().numberOfArgs(2).longOpt("property").get();
options.addOption(optionD);
options.addOption(optionProperty);
@@ -392,8 +392,8 @@ class CommandLineTest {
final List<Option> handler = new ArrayList<>();
final CommandLine commandLine =
DefaultParser.builder().setDeprecatedHandler(handler::add).get().parse(options,
args);
final Supplier<String> thinger = () -> "thing";
- final OptionGroup otherGroup = new
OptionGroup().addOption(Option.builder("o").longOpt("other").hasArg().build())
-
.addOption(Option.builder().option("p").longOpt("part").hasArg().build());
+ final OptionGroup otherGroup = new
OptionGroup().addOption(Option.builder("o").longOpt("other").hasArg().get())
+
.addOption(Option.builder().option("p").longOpt("part").hasArg().get());
final OptionGroup nullGroup = null;
// test char option
@@ -497,8 +497,8 @@ class CommandLineTest {
final Options options = new Options().addOptionGroup(optionGroup);
final List<Option> handler = new ArrayList<>();
final CommandLine commandLine =
DefaultParser.builder().setDeprecatedHandler(handler::add).get().parse(options,
args);
- final OptionGroup otherGroup = new
OptionGroup().addOption(Option.builder("o").longOpt("other").hasArg().build())
-
.addOption(Option.builder().option("p").longOpt("part").hasArg().build());
+ final OptionGroup otherGroup = new
OptionGroup().addOption(Option.builder("o").longOpt("other").hasArg().get())
+
.addOption(Option.builder().option("p").longOpt("part").hasArg().get());
final OptionGroup nullGroup = null;
// test char option arg
@@ -542,8 +542,8 @@ class CommandLineTest {
final List<Option> handler = new ArrayList<>();
final CommandLine commandLine =
DefaultParser.builder().setDeprecatedHandler(handler::add).get().parse(options,
args);
final Supplier<Integer> thinger = () -> 2;
- final OptionGroup otherGroup = new
OptionGroup().addOption(Option.builder("o").longOpt("other").hasArg().build())
-
.addOption(Option.builder().option("p").longOpt("part").hasArg().build());
+ final OptionGroup otherGroup = new
OptionGroup().addOption(Option.builder("o").longOpt("other").hasArg().get())
+
.addOption(Option.builder().option("p").longOpt("part").hasArg().get());
final OptionGroup nullGroup = null;
final Integer thing = 2;
@@ -636,8 +636,8 @@ class CommandLineTest {
final List<Option> handler = new ArrayList<>();
final CommandLine commandLine =
DefaultParser.builder().setDeprecatedHandler(handler::add).get().parse(options,
args);
final Supplier<Integer[]> thinger = () -> new Integer[]{2, 3};
- final OptionGroup otherGroup = new
OptionGroup().addOption(Option.builder("o").longOpt("other").hasArg().build())
-
.addOption(Option.builder().option("p").longOpt("part").hasArg().build());
+ final OptionGroup otherGroup = new
OptionGroup().addOption(Option.builder("o").longOpt("other").hasArg().get())
+
.addOption(Option.builder().option("p").longOpt("part").hasArg().get());
final OptionGroup nullGroup = null;
final Integer[] thing = {2, 3};
@@ -741,8 +741,8 @@ class CommandLineTest {
final Options options = new Options().addOptionGroup(optionGroup);
final List<Option> handler = new ArrayList<>();
final CommandLine commandLine =
DefaultParser.builder().setDeprecatedHandler(handler::add).get().parse(options,
args);
- final OptionGroup otherGroup = new
OptionGroup().addOption(Option.builder("o").longOpt("other").hasArg().build())
-
.addOption(Option.builder().option("p").longOpt("part").hasArg().build());
+ final OptionGroup otherGroup = new
OptionGroup().addOption(Option.builder("o").longOpt("other").hasArg().get())
+
.addOption(Option.builder().option("p").longOpt("part").hasArg().get());
final OptionGroup nullGroup = null;
// test char option arg
@@ -893,8 +893,8 @@ class CommandLineTest {
try {
System.setOut(new PrintStream(baos));
- final OptionGroup otherGroup = new
OptionGroup().addOption(Option.builder("o").longOpt("other").hasArg().build())
-
.addOption(Option.builder().option("p").longOpt("part").hasArg().build());
+ final OptionGroup otherGroup = new
OptionGroup().addOption(Option.builder("o").longOpt("other").hasArg().get())
+
.addOption(Option.builder().option("p").longOpt("part").hasArg().get());
final OptionGroup nullGroup = null;
// test char option
@@ -1008,8 +1008,8 @@ class CommandLineTest {
@Test
void testNullOption() throws Exception {
final Options options = new Options();
- final Option optI =
Option.builder("i").hasArg().type(Number.class).build();
- final Option optF = Option.builder("f").hasArg().build();
+ final Option optI =
Option.builder("i").hasArg().type(Number.class).get();
+ final Option optF = Option.builder("f").hasArg().get();
options.addOption(optI);
options.addOption(optF);
final CommandLineParser parser = new DefaultParser();
diff --git a/src/test/java/org/apache/commons/cli/DefaultParserTest.java
b/src/test/java/org/apache/commons/cli/DefaultParserTest.java
index 59093fec..c162323f 100644
--- a/src/test/java/org/apache/commons/cli/DefaultParserTest.java
+++ b/src/test/java/org/apache/commons/cli/DefaultParserTest.java
@@ -176,14 +176,14 @@ class DefaultParserTest extends AbstractParserTestCase {
void testDeprecated() throws ParseException {
final Set<Option> handler = new HashSet<>();
parser =
DefaultParser.builder().setDeprecatedHandler(handler::add).build();
- final Option opt1 = Option.builder().option("d1").deprecated().build();
+ final Option opt1 = Option.builder().option("d1").deprecated().get();
// @formatter:off
final Option opt2 =
Option.builder().option("d2").deprecated(DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("1.0")
- .setDescription("Do this instead.").get()).build();
+ .setForRemoval(true)
+ .setSince("1.0")
+ .setDescription("Do this instead.").get()).get();
// @formatter:on
- final Option opt3 = Option.builder().option("a").build();
+ final Option opt3 = Option.builder().option("a").get();
// @formatter:off
final CommandLine cl = parser.parse(new Options()
.addOption(opt1)
@@ -203,9 +203,9 @@ class DefaultParserTest extends AbstractParserTestCase {
@Test
void testLegacyStopAtNonOption() throws ParseException {
- final Option a =
Option.builder().option("a").longOpt("first-letter").build();
- final Option b =
Option.builder().option("b").longOpt("second-letter").build();
- final Option c =
Option.builder().option("c").longOpt("third-letter").build();
+ final Option a =
Option.builder().option("a").longOpt("first-letter").get();
+ final Option b =
Option.builder().option("b").longOpt("second-letter").get();
+ final Option c =
Option.builder().option("c").longOpt("third-letter").get();
final Options options = new Options();
options.addOption(a);
@@ -244,10 +244,10 @@ class DefaultParserTest extends AbstractParserTestCase {
@Test
void testParseIgnoreHappyPath() throws ParseException {
- final Option a =
Option.builder().option("a").longOpt("first-letter").build();
- final Option b =
Option.builder().option("b").longOpt("second-letter").build();
- final Option c =
Option.builder().option("c").longOpt("third-letter").build();
- final Option d =
Option.builder().option("d").longOpt("fourth-letter").build();
+ final Option a =
Option.builder().option("a").longOpt("first-letter").get();
+ final Option b =
Option.builder().option("b").longOpt("second-letter").get();
+ final Option c =
Option.builder().option("c").longOpt("third-letter").get();
+ final Option d =
Option.builder().option("d").longOpt("fourth-letter").get();
final Options baseOptions = new Options();
baseOptions.addOption(a);
@@ -293,9 +293,9 @@ class DefaultParserTest extends AbstractParserTestCase {
@Test
void testParseIgnoreNonHappyPath() throws ParseException {
- final Option a =
Option.builder().option("a").longOpt("first-letter").build();
- final Option b =
Option.builder().option("b").longOpt("second-letter").build();
- final Option c =
Option.builder().option("c").longOpt("third-letter").build();
+ final Option a =
Option.builder().option("a").longOpt("first-letter").get();
+ final Option b =
Option.builder().option("b").longOpt("second-letter").get();
+ final Option c =
Option.builder().option("c").longOpt("third-letter").get();
final Options baseOptions = new Options();
baseOptions.addOption(a);
@@ -326,10 +326,10 @@ class DefaultParserTest extends AbstractParserTestCase {
@Test
void testParseSkipHappyPath() throws ParseException {
- final Option a =
Option.builder().option("a").longOpt("first-letter").build();
- final Option b =
Option.builder().option("b").longOpt("second-letter").build();
- final Option c =
Option.builder().option("c").longOpt("third-letter").build();
- final Option d =
Option.builder().option("d").longOpt("fourth-letter").build();
+ final Option a =
Option.builder().option("a").longOpt("first-letter").get();
+ final Option b =
Option.builder().option("b").longOpt("second-letter").get();
+ final Option c =
Option.builder().option("c").longOpt("third-letter").get();
+ final Option d =
Option.builder().option("d").longOpt("fourth-letter").get();
final Options baseOptions = new Options();
baseOptions.addOption(a);
@@ -375,9 +375,9 @@ class DefaultParserTest extends AbstractParserTestCase {
@Test
void testParseSkipNonHappyPath() throws ParseException {
- final Option a =
Option.builder().option("a").longOpt("first-letter").build();
- final Option b =
Option.builder().option("b").longOpt("second-letter").build();
- final Option c =
Option.builder().option("c").longOpt("third-letter").build();
+ final Option a =
Option.builder().option("a").longOpt("first-letter").get();
+ final Option b =
Option.builder().option("b").longOpt("second-letter").get();
+ final Option c =
Option.builder().option("c").longOpt("third-letter").get();
final Options baseOptions = new Options();
baseOptions.addOption(a);
diff --git a/src/test/java/org/apache/commons/cli/HelpFormatterTest.java
b/src/test/java/org/apache/commons/cli/HelpFormatterTest.java
index de8c288f..d9b59775 100644
--- a/src/test/java/org/apache/commons/cli/HelpFormatterTest.java
+++ b/src/test/java/org/apache/commons/cli/HelpFormatterTest.java
@@ -52,9 +52,8 @@ class HelpFormatterTest {
static Stream<Arguments> deprecatedOptionsProvider() {
final List<Arguments> lst = new ArrayList<>();
Option option = Option.builder("a").longOpt("aaa").desc("dddd dddd
dddd")
-
.deprecated(DeprecatedAttributes.builder().setForRemoval(true).setSince("now")
- .setDescription("Why why why").get())
- .build();
+
.deprecated(DeprecatedAttributes.builder().setForRemoval(true).setSince("now")
+ .setDescription("Why why why").get()).get();
HelpFormatter hf = HelpFormatter.builder().get();
lst.add(Arguments.of(hf, option, "[Deprecated] dddd dddd dddd"));
@@ -69,9 +68,8 @@ class HelpFormatterTest {
lst.add(Arguments.of(hf, option, "dddd dddd dddd [Deprecated for
removal since now: Why why why]"));
option = Option.builder("a").longOpt("aaa")
-
.deprecated(DeprecatedAttributes.builder().setForRemoval(true).setSince("now")
- .setDescription("Why why why").get())
- .build();
+
.deprecated(DeprecatedAttributes.builder().setForRemoval(true).setSince("now")
+ .setDescription("Why why why").get()).get();
hf = HelpFormatter.builder().get();
lst.add(Arguments.of(hf, option, "[Deprecated]"));
@@ -141,7 +139,7 @@ class HelpFormatterTest {
@Test
void testDefaultArgName() {
- final Option option =
Option.builder("f").hasArg().required(true).build();
+ final Option option =
Option.builder("f").hasArg().required(true).get();
final Options options = new Options();
options.addOption(option);
@@ -297,8 +295,8 @@ class HelpFormatterTest {
void testHelpWithLongOptSeparator() {
final Options options = new Options();
options.addOption("f", true, "the file");
- options.addOption(Option.builder("s").longOpt("size").desc("the
size").hasArg().argName("SIZE").build());
- options.addOption(Option.builder().longOpt("age").desc("the
age").hasArg().build());
+ options.addOption(Option.builder("s").longOpt("size").desc("the
size").hasArg().argName("SIZE").get());
+ options.addOption(Option.builder().longOpt("age").desc("the
age").hasArg().get());
final HelpFormatter formatter = new HelpFormatter();
assertEquals(HelpFormatter.DEFAULT_LONG_OPT_SEPARATOR,
formatter.getLongOptSeparator());
@@ -372,31 +370,26 @@ class HelpFormatterTest {
final Option trackerRun = new Option("t", "tracker", false, "Create
NLT cache entries only for tracker items");
//@formatter:off
final Option timeLimit = Option.builder("l")
- .longOpt("limit")
- .hasArg()
- .valueSeparator()
- .desc("Set time limit for execution, in mintues")
- .build();
+ .longOpt("limit")
+ .hasArg()
+ .valueSeparator()
+ .desc("Set time limit for execution, in mintues").get();
final Option age = Option.builder("a").longOpt("age")
- .hasArg()
- .valueSeparator()
- .desc("Age (in days) of cache item before being recomputed")
- .build();
+ .hasArg()
+ .valueSeparator()
+ .desc("Age (in days) of cache item before being recomputed").get();
final Option server = Option.builder("s").longOpt("server")
- .hasArg()
- .valueSeparator()
- .desc("The NLT server address")
- .build();
+ .hasArg()
+ .valueSeparator()
+ .desc("The NLT server address").get();
final Option numResults = Option.builder("r").longOpt("results")
- .hasArg()
- .valueSeparator()
- .desc("Number of results per item")
- .build();
+ .hasArg()
+ .valueSeparator()
+ .desc("Number of results per item").get();
final Option configFile = Option.builder().longOpt("config")
- .hasArg()
- .valueSeparator()
- .desc("Use the specified configuration file")
- .build();
+ .hasArg()
+ .valueSeparator()
+ .desc("Use the specified configuration file").get();
//@formatter:on
final Options mOptions = new Options();
@@ -522,8 +515,8 @@ class HelpFormatterTest {
final String [] expected = {"usage: Command syntax", "Header",
"Options Since Description",
" -n,--no-since - Description for n", "
-W,--with-since 1.19.0 Descripton for W", "footer"};
final Options options = new Options()
-
.addOption(Option.builder("W").longOpt("with-since").since("1.19.0").desc("Descripton
for W").build())
-
.addOption(Option.builder("n").longOpt("no-since").desc("Description for
n").build());
+
.addOption(Option.builder("W").longOpt("with-since").since("1.19.0").desc("Descripton
for W").get())
+
.addOption(Option.builder("n").longOpt("no-since").desc("Description for
n").get());
final HelpFormatter formatter =
HelpFormatter.builder().setShowSince(true).get();
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -536,9 +529,9 @@ class HelpFormatterTest {
@Test
void testPrintOptionGroupUsage() {
final OptionGroup group = new OptionGroup();
- group.addOption(Option.builder("a").build());
- group.addOption(Option.builder("b").build());
- group.addOption(Option.builder("c").build());
+ group.addOption(Option.builder("a").get());
+ group.addOption(Option.builder("b").get());
+ group.addOption(Option.builder("c").get());
final Options options = new Options();
options.addOptionGroup(group);
@@ -613,9 +606,9 @@ class HelpFormatterTest {
@Test
void testPrintRequiredOptionGroupUsage() {
final OptionGroup group = new OptionGroup();
- group.addOption(Option.builder("a").build());
- group.addOption(Option.builder("b").build());
- group.addOption(Option.builder("c").build());
+ group.addOption(Option.builder("a").get());
+ group.addOption(Option.builder("b").get());
+ group.addOption(Option.builder("c").get());
group.setRequired(true);
final Options options = new Options();
@@ -686,8 +679,8 @@ class HelpFormatterTest {
final String[] expected = {"Options Since Description", "
-n,--no-since - Description for n",
" -W,--with-since 1.19.0 Descripton for W"};
final Options options = new Options()
-
.addOption(Option.builder("W").longOpt("with-since").since("1.19.0").desc("Descripton
for W").build())
-
.addOption(Option.builder("n").longOpt("no-since").desc("Description for
n").build());
+
.addOption(Option.builder("W").longOpt("with-since").since("1.19.0").desc("Descripton
for W").get())
+
.addOption(Option.builder("n").longOpt("no-since").desc("Description for
n").get());
final HelpFormatter formatter =
HelpFormatter.builder().setShowSince(true).get();
final StringBuffer sb = new StringBuffer();
@@ -808,8 +801,8 @@ class HelpFormatterTest {
void testUsageWithLongOptSeparator() {
final Options options = new Options();
options.addOption("f", true, "the file");
- options.addOption(Option.builder("s").longOpt("size").desc("the
size").hasArg().argName("SIZE").build());
- options.addOption(Option.builder().longOpt("age").desc("the
age").hasArg().build());
+ options.addOption(Option.builder("s").longOpt("size").desc("the
size").hasArg().argName("SIZE").get());
+ options.addOption(Option.builder().longOpt("age").desc("the
age").hasArg().get());
final HelpFormatter formatter = new HelpFormatter();
formatter.setLongOptSeparator("=");
diff --git a/src/test/java/org/apache/commons/cli/OptionTest.java
b/src/test/java/org/apache/commons/cli/OptionTest.java
index 01a24ff7..d902a881 100644
--- a/src/test/java/org/apache/commons/cli/OptionTest.java
+++ b/src/test/java/org/apache/commons/cli/OptionTest.java
@@ -108,23 +108,28 @@ class OptionTest {
}
@Test
- void testBuilderEmpty() {
+ void testBuilderDeprecatedBuildEmpty() {
assertThrows(IllegalArgumentException.class, () ->
Option.builder().build());
}
+ @Test
+ void testBuilderEmpty() {
+ assertThrows(IllegalArgumentException.class, () ->
Option.builder().get());
+ }
+
@Test
void testBuilderInsufficientParams1() {
- assertThrows(IllegalArgumentException.class, () ->
Option.builder().desc("desc").build());
+ assertThrows(IllegalArgumentException.class, () ->
Option.builder().desc("desc").get());
}
@Test
void testBuilderInsufficientParams2() {
- assertThrows(IllegalArgumentException.class, () ->
Option.builder(null).desc("desc").build());
+ assertThrows(IllegalArgumentException.class, () ->
Option.builder(null).desc("desc").get());
}
@Test
void testBuilderInvalidOptionName0() {
- assertThrows(IllegalArgumentException.class, () ->
Option.builder().option(null).build());
+ assertThrows(IllegalArgumentException.class, () ->
Option.builder().option(null).get());
assertThrows(IllegalArgumentException.class, () ->
Option.builder().option(""));
assertThrows(IllegalArgumentException.class, () ->
Option.builder().option(" "));
}
@@ -153,53 +158,53 @@ class OptionTest {
void testBuilderMethods() {
final char defaultSeparator = (char) 0;
- checkOption(Option.builder("a").desc("desc").build(), "a", "desc",
null, Option.UNINITIALIZED, null, false, false, defaultSeparator, String.class,
null,
+ checkOption(Option.builder("a").desc("desc").get(), "a", "desc", null,
Option.UNINITIALIZED, null, false, false, defaultSeparator, String.class, null,
null, null);
- checkOption(Option.builder("a").desc("desc").build(), "a", "desc",
null, Option.UNINITIALIZED, null, false, false, defaultSeparator, String.class,
null,
+ checkOption(Option.builder("a").desc("desc").get(), "a", "desc", null,
Option.UNINITIALIZED, null, false, false, defaultSeparator, String.class, null,
null, null);
- checkOption(Option.builder("a").desc("desc").longOpt("aaa").build(),
"a", "desc", "aaa", Option.UNINITIALIZED, null, false, false, defaultSeparator,
+ checkOption(Option.builder("a").desc("desc").longOpt("aaa").get(),
"a", "desc", "aaa", Option.UNINITIALIZED, null, false, false, defaultSeparator,
String.class, null, null, null);
- checkOption(Option.builder("a").desc("desc").hasArg(true).build(),
"a", "desc", null, 1, null, false, false, defaultSeparator, String.class, null,
null,
+ checkOption(Option.builder("a").desc("desc").hasArg(true).get(), "a",
"desc", null, 1, null, false, false, defaultSeparator, String.class, null, null,
null);
- checkOption(Option.builder("a").desc("desc").hasArg(false).build(),
"a", "desc", null, Option.UNINITIALIZED, null, false, false, defaultSeparator,
+ checkOption(Option.builder("a").desc("desc").hasArg(false).get(), "a",
"desc", null, Option.UNINITIALIZED, null, false, false, defaultSeparator,
String.class, null, null, null);
- checkOption(Option.builder("a").desc("desc").hasArg(true).build(),
"a", "desc", null, 1, null, false, false, defaultSeparator, String.class, null,
null,
+ checkOption(Option.builder("a").desc("desc").hasArg(true).get(), "a",
"desc", null, 1, null, false, false, defaultSeparator, String.class, null, null,
null);
- checkOption(Option.builder("a").desc("desc").numberOfArgs(3).build(),
"a", "desc", null, 3, null, false, false, defaultSeparator, String.class, null,
+ checkOption(Option.builder("a").desc("desc").numberOfArgs(3).get(),
"a", "desc", null, 3, null, false, false, defaultSeparator, String.class, null,
null, null);
- checkOption(Option.builder("a").desc("desc").required(true).build(),
"a", "desc", null, Option.UNINITIALIZED, null, true, false, defaultSeparator,
+ checkOption(Option.builder("a").desc("desc").required(true).get(),
"a", "desc", null, Option.UNINITIALIZED, null, true, false, defaultSeparator,
String.class, null, null, null);
- checkOption(Option.builder("a").desc("desc").required(false).build(),
"a", "desc", null, Option.UNINITIALIZED, null, false, false, defaultSeparator,
+ checkOption(Option.builder("a").desc("desc").required(false).get(),
"a", "desc", null, Option.UNINITIALIZED, null, false, false, defaultSeparator,
String.class, null, null, null);
- checkOption(Option.builder("a").desc("desc").argName("arg1").build(),
"a", "desc", null, Option.UNINITIALIZED, "arg1", false, false, defaultSeparator,
+ checkOption(Option.builder("a").desc("desc").argName("arg1").get(),
"a", "desc", null, Option.UNINITIALIZED, "arg1", false, false, defaultSeparator,
String.class, null, null, null);
-
checkOption(Option.builder("a").desc("desc").optionalArg(false).build(), "a",
"desc", null, Option.UNINITIALIZED, null, false, false, defaultSeparator,
+ checkOption(Option.builder("a").desc("desc").optionalArg(false).get(),
"a", "desc", null, Option.UNINITIALIZED, null, false, false, defaultSeparator,
String.class, null, null, null);
-
checkOption(Option.builder("a").desc("desc").optionalArg(true).build(), "a",
"desc", null, 1, null, false, true, defaultSeparator, String.class, null,
+ checkOption(Option.builder("a").desc("desc").optionalArg(true).get(),
"a", "desc", null, 1, null, false, true, defaultSeparator, String.class, null,
null, null);
-
checkOption(Option.builder("a").desc("desc").valueSeparator(':').build(), "a",
"desc", null, Option.UNINITIALIZED, null, false, false, ':',
+
checkOption(Option.builder("a").desc("desc").valueSeparator(':').get(), "a",
"desc", null, Option.UNINITIALIZED, null, false, false, ':',
String.class, null, null, null);
-
checkOption(Option.builder("a").desc("desc").type(Integer.class).build(), "a",
"desc", null, Option.UNINITIALIZED, null, false, false, defaultSeparator,
+
checkOption(Option.builder("a").desc("desc").type(Integer.class).get(), "a",
"desc", null, Option.UNINITIALIZED, null, false, false, defaultSeparator,
Integer.class, null, null, null);
- checkOption(Option.builder("a").desc("desc").type(null).build(), "a",
"desc", null, Option.UNINITIALIZED, null, false, false, defaultSeparator,
+ checkOption(Option.builder("a").desc("desc").type(null).get(), "a",
"desc", null, Option.UNINITIALIZED, null, false, false, defaultSeparator,
String.class, null, null, null);
-
checkOption(Option.builder().option("a").desc("desc").type(Integer.class).build(),
"a", "desc", null, Option.UNINITIALIZED, null, false, false,
+
checkOption(Option.builder().option("a").desc("desc").type(Integer.class).get(),
"a", "desc", null, Option.UNINITIALIZED, null, false, false,
defaultSeparator, Integer.class, null, null, null);
// Deprecated
-
checkOption(Option.builder().option("a").desc("desc").type(Integer.class).deprecated().build(),
"a", "desc", null, Option.UNINITIALIZED, null, false,
+
checkOption(Option.builder().option("a").desc("desc").type(Integer.class).deprecated().get(),
"a", "desc", null, Option.UNINITIALIZED, null, false,
false, defaultSeparator, Integer.class, "", false, "");
-
checkOption(Option.builder().option("a").desc("desc").type(Integer.class).deprecated(DeprecatedAttributes.builder().get()).build(),
"a", "desc", null,
+
checkOption(Option.builder().option("a").desc("desc").type(Integer.class).deprecated(DeprecatedAttributes.builder().get()).get(),
"a", "desc", null,
Option.UNINITIALIZED, null, false, false, defaultSeparator,
Integer.class, "", false, "");
-
checkOption(Option.builder().option("a").desc("desc").type(Integer.class).deprecated(DeprecatedAttributes.builder().setDescription("X").get()).build(),
+
checkOption(Option.builder().option("a").desc("desc").type(Integer.class).deprecated(DeprecatedAttributes.builder().setDescription("X").get()).get(),
"a", "desc", null, Option.UNINITIALIZED, null, false, false,
defaultSeparator, Integer.class, "X", false, "");
checkOption(
Option.builder().option("a").desc("desc").type(Integer.class)
-
.deprecated(DeprecatedAttributes.builder().setDescription("X").setForRemoval(true).get()).build(),
+
.deprecated(DeprecatedAttributes.builder().setDescription("X").setForRemoval(true).get()).get(),
"a", "desc", null, Option.UNINITIALIZED, null, false, false,
defaultSeparator, Integer.class, "X", true, "");
checkOption(
Option.builder().option("a").desc("desc").type(Integer.class)
-
.deprecated(DeprecatedAttributes.builder().setDescription("X").setForRemoval(true).setSince("2.0").get()).build(),
+
.deprecated(DeprecatedAttributes.builder().setDescription("X").setForRemoval(true).setSince("2.0").get()).get(),
"a", "desc", null, Option.UNINITIALIZED, null, false, false,
defaultSeparator, Integer.class, "X", true, "2.0");
}
@@ -295,9 +300,9 @@ class OptionTest {
@Test
void testHashCode() {
- assertNotEquals(Option.builder("test").build().hashCode(),
Option.builder("test2").build().hashCode());
- assertNotEquals(Option.builder("test").build().hashCode(),
Option.builder().longOpt("test").build().hashCode());
- assertNotEquals(Option.builder("test").build().hashCode(),
Option.builder("test").longOpt("long test").build().hashCode());
+ assertNotEquals(Option.builder("test").get().hashCode(),
Option.builder("test2").get().hashCode());
+ assertNotEquals(Option.builder("test").get().hashCode(),
Option.builder().longOpt("test").get().hashCode());
+ assertNotEquals(Option.builder("test").get().hashCode(),
Option.builder("test").longOpt("long test").get().hashCode());
}
@Test
@@ -310,7 +315,7 @@ class OptionTest {
@Test
void testSerialization() throws IOException, ClassNotFoundException {
- final Option option =
Option.builder("o").type(TypeHandlerTest.Instantiable.class).build();
+ final Option option =
Option.builder("o").type(TypeHandlerTest.Instantiable.class).get();
assertEquals(Converter.DEFAULT, option.getConverter());
Option roundtrip = roundTrip(option);
assertEquals(Converter.DEFAULT, roundtrip.getConverter());
diff --git a/src/test/java/org/apache/commons/cli/OptionsTest.java
b/src/test/java/org/apache/commons/cli/OptionsTest.java
index 01ab716d..b0cf553a 100644
--- a/src/test/java/org/apache/commons/cli/OptionsTest.java
+++ b/src/test/java/org/apache/commons/cli/OptionsTest.java
@@ -47,17 +47,17 @@ class OptionsTest {
void testAddConflictingOptions() {
final Options options1 = new Options();
final OptionGroup group1 = new OptionGroup();
- group1.addOption(Option.builder("a").build());
- group1.addOption(Option.builder("b").build());
+ group1.addOption(Option.builder("a").get());
+ group1.addOption(Option.builder("b").get());
options1.addOptionGroup(group1);
- options1.addOption(Option.builder("x").build());
- options1.addOption(Option.builder("y").build());
+ options1.addOption(Option.builder("x").get());
+ options1.addOption(Option.builder("y").get());
final Options options2 = new Options();
final OptionGroup group2 = new OptionGroup();
- group2.addOption(Option.builder("x").type(Integer.class).build());
- group2.addOption(Option.builder("b").type(Integer.class).build());
+ group2.addOption(Option.builder("x").type(Integer.class).get());
+ group2.addOption(Option.builder("b").type(Integer.class).get());
options2.addOptionGroup(group2);
- options2.addOption(Option.builder("c").build());
+ options2.addOption(Option.builder("c").get());
assertThrows(IllegalArgumentException.class, () ->
options1.addOptions(options2));
}
@@ -65,19 +65,19 @@ class OptionsTest {
void testAddNonConflictingOptions() {
final Options options1 = new Options();
final OptionGroup group1 = new OptionGroup();
- group1.addOption(Option.builder("a").build());
- group1.addOption(Option.builder("b").build());
+ group1.addOption(Option.builder("a").get());
+ group1.addOption(Option.builder("b").get());
options1.addOptionGroup(group1);
- options1.addOption(Option.builder("x").build());
- options1.addOption(Option.builder("y").build());
+ options1.addOption(Option.builder("x").get());
+ options1.addOption(Option.builder("y").get());
final Options options2 = new Options();
final OptionGroup group2 = new OptionGroup();
- group2.addOption(Option.builder("c").type(Integer.class).build());
- group2.addOption(Option.builder("d").type(Integer.class).build());
+ group2.addOption(Option.builder("c").type(Integer.class).get());
+ group2.addOption(Option.builder("d").type(Integer.class).get());
options2.addOptionGroup(group2);
- options1.addOption(Option.builder("e").build());
- options1.addOption(Option.builder("f").build());
+ options1.addOption(Option.builder("e").get());
+ options1.addOption(Option.builder("f").get());
final Options underTest = new Options();
underTest.addOptions(options1);
@@ -96,13 +96,13 @@ class OptionsTest {
final Options options = new Options();
final OptionGroup group1 = new OptionGroup();
- group1.addOption(Option.builder("a").build());
- group1.addOption(Option.builder("b").build());
+ group1.addOption(Option.builder("a").get());
+ group1.addOption(Option.builder("b").get());
options.addOptionGroup(group1);
- options.addOption(Option.builder("X").build());
- options.addOption(Option.builder("y").build());
+ options.addOption(Option.builder("X").get());
+ options.addOption(Option.builder("y").get());
final Options underTest = new Options();
underTest.addOptions(options);
@@ -116,13 +116,13 @@ class OptionsTest {
final Options options = new Options();
final OptionGroup group1 = new OptionGroup();
- group1.addOption(Option.builder("a").build());
- group1.addOption(Option.builder("b").build());
+ group1.addOption(Option.builder("a").get());
+ group1.addOption(Option.builder("b").get());
options.addOptionGroup(group1);
- options.addOption(Option.builder("X").build());
- options.addOption(Option.builder("y").build());
+ options.addOption(Option.builder("X").get());
+ options.addOption(Option.builder("y").get());
assertThrows(IllegalArgumentException.class, () ->
options.addOptions(options));
}
@@ -130,11 +130,11 @@ class OptionsTest {
@Test
void testDeprecated() {
final Options options = new Options();
- options.addOption(Option.builder().option("a").build());
- options.addOption(Option.builder().option("b").deprecated().build());
+ options.addOption(Option.builder().option("a").get());
+ options.addOption(Option.builder().option("b").deprecated().get());
options.addOption(Option.builder().option("c")
-
.deprecated(DeprecatedAttributes.builder().setForRemoval(true).setSince("2.0").setDescription("Use
X.").get()).build());
-
options.addOption(Option.builder().option("d").deprecated().longOpt("longD").hasArgs().build());
+
.deprecated(DeprecatedAttributes.builder().setForRemoval(true).setSince("2.0").setDescription("Use
X.").get()).get());
+
options.addOption(Option.builder().option("d").deprecated().longOpt("longD").hasArgs().get());
// toString()
assertTrue(options.getOption("a").toString().startsWith("[ Option a"));
assertTrue(options.getOption("b").toString().startsWith("[ Option b"));
diff --git a/src/test/java/org/apache/commons/cli/SolrCliTest.java
b/src/test/java/org/apache/commons/cli/SolrCliTest.java
index 76ec6dce..ab5f8871 100644
--- a/src/test/java/org/apache/commons/cli/SolrCliTest.java
+++ b/src/test/java/org/apache/commons/cli/SolrCliTest.java
@@ -36,106 +36,98 @@ class SolrCliTest {
public static final Option OPTION_ZKHOST_DEPRECATED =
// @formatter:off
Option.builder("zkHost")
- .longOpt("zkHost")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.6")
- .setDescription("Use --zk-host instead")
- .get())
- .argName("HOST")
- .hasArg()
- .required(false)
- .desc("Zookeeper connection string; unnecessary if ZK_HOST is
defined in solr.in.sh; otherwise, defaults to "
- + ZK_HOST
- + '.')
- .build();
+ .longOpt("zkHost")
+ .deprecated(
+ DeprecatedAttributes.builder()
+ .setForRemoval(true)
+ .setSince("9.6")
+ .setDescription("Use --zk-host instead")
+ .get())
+ .argName("HOST")
+ .hasArg()
+ .required(false)
+ .desc("Zookeeper connection string; unnecessary if ZK_HOST is defined in
solr.in.sh; otherwise, defaults to "
+ + ZK_HOST
+ + '.').get();
// @formatter:on
public static final Option OPTION_ZKHOST =
// @formatter:off
Option.builder("z")
- .longOpt("zk-host")
- .argName("HOST")
- .hasArg()
- .required(false)
- .desc("Zookeeper connection string; unnecessary if ZK_HOST is
defined in solr.in.sh; otherwise, defaults to "
- + ZK_HOST
- + '.')
- .build();
+ .longOpt("zk-host")
+ .argName("HOST")
+ .hasArg()
+ .required(false)
+ .desc("Zookeeper connection string; unnecessary if ZK_HOST is defined in
solr.in.sh; otherwise, defaults to "
+ + ZK_HOST
+ + '.').get();
// @formatter:on
public static final Option OPTION_SOLRURL_DEPRECATED =
// @formatter:off
Option.builder("solrUrl")
- .longOpt("solrUrl")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.6")
- .setDescription("Use --solr-url instead")
- .get())
- .argName("HOST")
- .hasArg()
- .required(false)
- .desc("Base Solr URL, which can be used to determine the zk-host
if that's not known; defaults to: "
- + getDefaultSolrUrl()
- + '.')
- .build();
+ .longOpt("solrUrl")
+ .deprecated(
+ DeprecatedAttributes.builder()
+ .setForRemoval(true)
+ .setSince("9.6")
+ .setDescription("Use --solr-url instead")
+ .get())
+ .argName("HOST")
+ .hasArg()
+ .required(false)
+ .desc("Base Solr URL, which can be used to determine the zk-host if that's
not known; defaults to: "
+ + getDefaultSolrUrl()
+ + '.').get();
// @formatter:on
public static final Option OPTION_SOLRURL =
// @formatter:off
Option.builder("url")
- .longOpt("solr-url")
- .argName("HOST")
- .hasArg()
- .required(false)
- .desc("Base Solr URL, which can be used to determine the zk-host
if that's not known; defaults to: "
- + getDefaultSolrUrl()
- + '.')
- .build();
+ .longOpt("solr-url")
+ .argName("HOST")
+ .hasArg()
+ .required(false)
+ .desc("Base Solr URL, which can be used to determine the zk-host if that's
not known; defaults to: "
+ + getDefaultSolrUrl()
+ + '.').get();
// @formatter:on
public static final Option OPTION_VERBOSE =
// @formatter:off
Option.builder("v")
- .longOpt("verbose")
- .argName("verbose")
- .required(false)
- .desc("Enable more verbose command output.")
- .build();
+ .longOpt("verbose")
+ .argName("verbose")
+ .required(false)
+ .desc("Enable more verbose command output.").get();
// @formatter:on
public static final Option OPTION_HELP =
// @formatter:off
Option.builder("h")
- .longOpt("help")
- .required(false)
- .desc("Print this message.")
- .build();
+ .longOpt("help")
+ .required(false)
+ .desc("Print this message.").get();
// @formatter:on
public static final Option OPTION_RECURSE =
// @formatter:off
Option.builder("r")
- .longOpt("recurse")
- .argName("recurse")
- .hasArg()
- .required(false)
- .desc("Recurse (true|false), default is false.")
- .build();
+ .longOpt("recurse")
+ .argName("recurse")
+ .hasArg()
+ .required(false)
+ .desc("Recurse (true|false), default is false.").get();
// @formatter:on
public static final Option OPTION_CREDENTIALS =
// @formatter:off
Option.builder("u")
- .longOpt("credentials")
- .argName("credentials")
- .hasArg()
- .required(false)
- .desc("Credentials in the format username:password. Example:
--credentials solr:SolrRocks")
- .build();
+ .longOpt("credentials")
+ .argName("credentials")
+ .hasArg()
+ .required(false)
+ .desc("Credentials in the format username:password. Example: --credentials
solr:SolrRocks").get();
// @formatter:on
private static String getDefaultSolrUrl() {
diff --git a/src/test/java/org/apache/commons/cli/SolrCreateToolTest.java
b/src/test/java/org/apache/commons/cli/SolrCreateToolTest.java
index be2e6524..a80c39c4 100644
--- a/src/test/java/org/apache/commons/cli/SolrCreateToolTest.java
+++ b/src/test/java/org/apache/commons/cli/SolrCreateToolTest.java
@@ -32,48 +32,48 @@ class SolrCreateToolTest {
private List<Option> getOptions() {
// @formatter:off
return Arrays.asList(
- SolrCliTest.OPTION_ZKHOST,
- SolrCliTest.OPTION_SOLRURL,
- SolrCliTest.OPTION_ZKHOST_DEPRECATED,
- SolrCliTest.OPTION_SOLRURL,
- Option.builder("c")
- .longOpt("name")
- .argName("NAME")
- .hasArg()
- .required(true)
- .desc("Name of collection or core to create.")
- .build(),
- Option.builder("s")
- .longOpt("shards")
- .argName("#")
- .hasArg()
- .required(false)
- .desc("Number of shards; default is 1.")
- .build(),
- Option.builder("rf")
- .longOpt("replication-factor")
- .argName("#")
- .hasArg()
- .required(false)
- .desc("Number of copies of each document across the collection
(replicas per shard); default is 1.")
- .build(),
- Option.builder("d")
- .longOpt("confdir")
- .argName("NAME")
- .hasArg()
- .required(false)
- .desc("Configuration directory to copy when creating the new
collection; default is "
- + SolrCliTest.DEFAULT_CONFIG_SET
- + '.')
- .build(),
- Option.builder("n")
- .longOpt("confname")
- .argName("NAME")
- .hasArg()
- .required(false)
- .desc("Configuration name; default is the collection name.")
- .build(),
- SolrCliTest.OPTION_CREDENTIALS);
+ SolrCliTest.OPTION_ZKHOST,
+ SolrCliTest.OPTION_SOLRURL,
+ SolrCliTest.OPTION_ZKHOST_DEPRECATED,
+ SolrCliTest.OPTION_SOLRURL,
+ Option.builder("c")
+ .longOpt("name")
+ .argName("NAME")
+ .hasArg()
+ .required(true)
+ .desc("Name of collection or core to create.")
+ .get(),
+ Option.builder("s")
+ .longOpt("shards")
+ .argName("#")
+ .hasArg()
+ .required(false)
+ .desc("Number of shards; default is 1.")
+ .get(),
+ Option.builder("rf")
+ .longOpt("replication-factor")
+ .argName("#")
+ .hasArg()
+ .required(false)
+ .desc("Number of copies of each document across the
collection (replicas per shard); default is 1.")
+ .get(),
+ Option.builder("d")
+ .longOpt("confdir")
+ .argName("NAME")
+ .hasArg()
+ .required(false)
+ .desc("Configuration directory to copy when creating
the new collection; default is "
+ + SolrCliTest.DEFAULT_CONFIG_SET
+ + '.')
+ .get(),
+ Option.builder("n")
+ .longOpt("confname")
+ .argName("NAME")
+ .hasArg()
+ .required(false)
+ .desc("Configuration name; default is the collection
name.")
+ .get(),
+ SolrCliTest.OPTION_CREDENTIALS);
// @formatter:on
}
diff --git a/src/test/java/org/apache/commons/cli/ValueTest.java
b/src/test/java/org/apache/commons/cli/ValueTest.java
index 2d59913e..81f02009 100644
--- a/src/test/java/org/apache/commons/cli/ValueTest.java
+++ b/src/test/java/org/apache/commons/cli/ValueTest.java
@@ -56,7 +56,7 @@ class ValueTest {
opts.addOption(OptionBuilder.hasOptionalArgs(2).withLongOpt("hide").create());
opts.addOption(OptionBuilder.hasOptionalArgs(2).create('i'));
opts.addOption(OptionBuilder.hasOptionalArgs().create('j'));
-
opts.addOption(Option.builder().option("v").hasArg().valueSeparator().build());
+
opts.addOption(Option.builder().option("v").hasArg().valueSeparator().get());
final String[] args = { "-a", "-b", "foo", "--c", "--d", "bar" };
diff --git a/src/test/java/org/apache/commons/cli/bug/BugCLI252Test.java
b/src/test/java/org/apache/commons/cli/bug/BugCLI252Test.java
index e5e07dee..315ff0e3 100644
--- a/src/test/java/org/apache/commons/cli/bug/BugCLI252Test.java
+++ b/src/test/java/org/apache/commons/cli/bug/BugCLI252Test.java
@@ -30,8 +30,8 @@ class BugCLI252Test {
private Options getOptions() {
final Options options = new Options();
- options.addOption(Option.builder().longOpt("prefix").build());
- options.addOption(Option.builder().longOpt("prefixplusplus").build());
+ options.addOption(Option.builder().longOpt("prefix").get());
+ options.addOption(Option.builder().longOpt("prefixplusplus").get());
return options;
}
diff --git a/src/test/java/org/apache/commons/cli/bug/BugCLI265Test.java
b/src/test/java/org/apache/commons/cli/bug/BugCLI265Test.java
index 3baa3cca..eda81f99 100644
--- a/src/test/java/org/apache/commons/cli/bug/BugCLI265Test.java
+++ b/src/test/java/org/apache/commons/cli/bug/BugCLI265Test.java
@@ -44,10 +44,10 @@ class BugCLI265Test {
public void setUp() {
parser = new DefaultParser();
- final Option optionT1 =
Option.builder("t1").hasArg().numberOfArgs(1).optionalArg(true).argName("t1_path").build();
- final Option optionA = Option.builder("a").hasArg(false).build();
- final Option optionB = Option.builder("b").hasArg(false).build();
- final Option optionLast = Option.builder("last").hasArg(false).build();
+ final Option optionT1 =
Option.builder("t1").hasArg().numberOfArgs(1).optionalArg(true).argName("t1_path").get();
+ final Option optionA = Option.builder("a").hasArg(false).get();
+ final Option optionB = Option.builder("b").hasArg(false).get();
+ final Option optionLast = Option.builder("last").hasArg(false).get();
options = new
Options().addOption(optionT1).addOption(optionA).addOption(optionB).addOption(optionLast);
}
diff --git a/src/test/java/org/apache/commons/cli/bug/BugCLI266Test.java
b/src/test/java/org/apache/commons/cli/bug/BugCLI266Test.java
index a46cc1ad..a02dc374 100644
--- a/src/test/java/org/apache/commons/cli/bug/BugCLI266Test.java
+++ b/src/test/java/org/apache/commons/cli/bug/BugCLI266Test.java
@@ -44,28 +44,23 @@ class BugCLI266Test {
//@formatter:off
firstGroup.addOption(Option.builder("d")
- .longOpt("db")
- .hasArg()
- .argName("table-name")
- .build());
+ .longOpt("db")
+ .hasArg()
+ .argName("table-name").get());
firstGroup.addOption(Option.builder("f")
- .longOpt("flat-file")
- .hasArg()
- .argName("input.csv")
- .build());
+ .longOpt("flat-file")
+ .hasArg()
+ .argName("input.csv").get());
//@formatter:on
options.addOptionGroup(firstGroup);
//@formatter:off
secondGroup.addOption(Option.builder("x")
- .hasArg()
- .argName("arg1")
- .build());
- secondGroup.addOption(Option.builder("s")
- .build());
+ .hasArg()
+ .argName("arg1").get());
+ secondGroup.addOption(Option.builder("s").get());
secondGroup.addOption(Option.builder("p")
- .hasArg()
- .argName("arg1")
- .build());
+ .hasArg()
+ .argName("arg1").get());
//@formatter:on
options.addOptionGroup(secondGroup);
}
@@ -74,9 +69,8 @@ class BugCLI266Test {
final Options options = new Options();
//@formatter:off
final Option help = Option.builder("h")
- .longOpt("help")
- .desc("Prints this help message")
- .build();
+ .longOpt("help")
+ .desc("Prints this help message").get();
//@formatter:on
options.addOption(help);
@@ -84,19 +78,16 @@ class BugCLI266Test {
//@formatter:off
final Option t = Option.builder("t")
- .required()
- .hasArg()
- .argName("file")
- .build();
+ .required()
+ .hasArg()
+ .argName("file").get();
final Option w = Option.builder("w")
- .required()
- .hasArg()
- .argName("word")
- .build();
+ .required()
+ .hasArg()
+ .argName("word").get();
final Option o = Option.builder("o")
- .hasArg()
- .argName("directory")
- .build();
+ .hasArg()
+ .argName("directory").get();
//@formatter:on
options.addOption(t);
options.addOption(w);
diff --git a/src/test/java/org/apache/commons/cli/bug/BugCLI312Test.java
b/src/test/java/org/apache/commons/cli/bug/BugCLI312Test.java
index 5d069647..47e3dcce 100644
--- a/src/test/java/org/apache/commons/cli/bug/BugCLI312Test.java
+++ b/src/test/java/org/apache/commons/cli/bug/BugCLI312Test.java
@@ -38,8 +38,8 @@ import org.junit.jupiter.api.Test;
class BugCLI312Test {
@Test
void testNoOptionValues() {
- final Option o1 = Option.builder("A").build();
- final Option o2 =
Option.builder().option("D").longOpt("define").numberOfArgs(2).valueSeparator('=').build();
+ final Option o1 = Option.builder("A").get();
+ final Option o2 =
Option.builder().option("D").longOpt("define").numberOfArgs(2).valueSeparator('=').get();
final Options options = new Options().addOption(o1).addOption(o2);
final CommandLineParser parser = new DefaultParser();
@@ -49,7 +49,7 @@ class BugCLI312Test {
@Test
void testPropertyStyleOption_withGetOptionProperties() throws
ParseException {
- final Option o1 =
Option.builder().option("D").longOpt("define").numberOfArgs(2).valueSeparator('=').build();
+ final Option o1 =
Option.builder().option("D").longOpt("define").numberOfArgs(2).valueSeparator('=').get();
final Options options = new Options();
options.addOption(o1);
@@ -71,7 +71,7 @@ class BugCLI312Test {
@Test
void testPropertyStyleOption_withGetOptions() throws ParseException {
- final Option o1 =
Option.builder().option("D").longOpt("define").numberOfArgs(2).valueSeparator('=').build();
+ final Option o1 =
Option.builder().option("D").longOpt("define").numberOfArgs(2).valueSeparator('=').get();
final Options options = new Options();
options.addOption(o1);
diff --git a/src/test/java/org/apache/commons/cli/bug/BugCLI325Test.java
b/src/test/java/org/apache/commons/cli/bug/BugCLI325Test.java
index 35f53858..58fd2c00 100644
--- a/src/test/java/org/apache/commons/cli/bug/BugCLI325Test.java
+++ b/src/test/java/org/apache/commons/cli/bug/BugCLI325Test.java
@@ -34,10 +34,9 @@ class BugCLI325Test {
void testCli325() throws ParseException {
// @formatter:off
final Option option = Option.builder("x")
- .hasArgs()
- .valueSeparator()
- .desc("Multiple arg option with value separator.")
- .build();
+ .hasArgs()
+ .valueSeparator()
+ .desc("Multiple arg option with value separator.").get();
// @formatter:on
final String[] args = {"-x", "A=a", "B=b"};
final CommandLine cmdLine = DefaultParser.builder().get().parse(new
Options().addOption(option), args);
diff --git a/src/test/java/org/apache/commons/cli/help/HelpFormatterTest.java
b/src/test/java/org/apache/commons/cli/help/HelpFormatterTest.java
index 45f1222e..d8453b75 100644
--- a/src/test/java/org/apache/commons/cli/help/HelpFormatterTest.java
+++ b/src/test/java/org/apache/commons/cli/help/HelpFormatterTest.java
@@ -42,19 +42,19 @@ class HelpFormatterTest {
// @formatter:off
return new Options()
.addOptionGroup(new OptionGroup()
-
.addOption(Option.builder("1").longOpt("one").hasArg().desc("English
one").build())
-
.addOption(Option.builder().longOpt("aon").hasArg().desc("Irish one").build())
-
.addOption(Option.builder().longOpt("uno").hasArg().desc("Spanish one").build())
+
.addOption(Option.builder("1").longOpt("one").hasArg().desc("English
one").get())
+
.addOption(Option.builder().longOpt("aon").hasArg().desc("Irish one").get())
+
.addOption(Option.builder().longOpt("uno").hasArg().desc("Spanish one").get())
)
.addOptionGroup(new OptionGroup()
-
.addOption(Option.builder().longOpt("two").hasArg().desc("English two").build())
- .addOption(Option.builder().longOpt("dó").hasArg().desc("Irish
twp").build())
-
.addOption(Option.builder().longOpt("dos").hasArg().desc("Spanish two").build())
+
.addOption(Option.builder().longOpt("two").hasArg().desc("English two").get())
+ .addOption(Option.builder().longOpt("dó").hasArg().desc("Irish
twp").get())
+
.addOption(Option.builder().longOpt("dos").hasArg().desc("Spanish two").get())
)
.addOptionGroup(new OptionGroup()
-
.addOption(Option.builder().longOpt("three").hasArg().desc("English
three").build())
-
.addOption(Option.builder().longOpt("trí").hasArg().desc("Irish three").build())
-
.addOption(Option.builder().longOpt("tres").hasArg().desc("Spanish
three").build())
+
.addOption(Option.builder().longOpt("three").hasArg().desc("English
three").get())
+
.addOption(Option.builder().longOpt("trí").hasArg().desc("Irish three").get())
+
.addOption(Option.builder().longOpt("tres").hasArg().desc("Spanish
three").get())
);
// @formatter:on
}
@@ -75,7 +75,7 @@ class HelpFormatterTest {
final TextHelpAppendable serializer = new TextHelpAppendable(sb);
HelpFormatter formatter =
HelpFormatter.builder().setHelpAppendable(serializer).get();
- final Options options = new
Options().addOption(Option.builder("a").since("1853").hasArg().desc("aaaa aaaa
aaaa aaaa aaaa").build());
+ final Options options = new
Options().addOption(Option.builder("a").since("1853").hasArg().desc("aaaa aaaa
aaaa aaaa aaaa").get());
List<String> expected = new ArrayList<>();
expected.add(" usage: commandSyntax [-a <arg>]");
@@ -234,7 +234,7 @@ class HelpFormatterTest {
final OptionFormatter.Builder ofBuilder =
OptionFormatter.builder().setOptPrefix("Just Another ");
underTest.setOptionFormatBuilder(ofBuilder);
final HelpFormatter formatter = underTest.get();
- final OptionFormatter oFormatter =
formatter.getOptionFormatter(Option.builder("thing").build());
+ final OptionFormatter oFormatter =
formatter.getOptionFormatter(Option.builder("thing").get());
assertEquals("Just Another thing", oFormatter.getOpt());
}
@@ -243,7 +243,7 @@ class HelpFormatterTest {
void testSetOptionGroupSeparatorTest() {
final HelpFormatter.Builder underTest =
HelpFormatter.builder().setOptionGroupSeparator(" and ");
final HelpFormatter formatter = underTest.get();
- final String result = formatter.toSyntaxOptions(new
OptionGroup().addOption(Option.builder("this").build()).addOption(Option.builder("that").build()));
+ final String result = formatter.toSyntaxOptions(new
OptionGroup().addOption(Option.builder("this").get()).addOption(Option.builder("that").get()));
assertTrue(result.contains("-that and -this"));
}
@@ -269,9 +269,9 @@ class HelpFormatterTest {
void testSortOptionsTest() {
// @formatter:off
final Options options = new Options()
- .addOption(Option.builder("a").longOpt("optA").hasArg().desc("The
description of A").build())
- .addOption(Option.builder("b").longOpt("BOpt").hasArg().desc("B
description").build())
- .addOption(Option.builder().longOpt("COpt").hasArg().desc("A COpt
description").build());
+ .addOption(Option.builder("a").longOpt("optA").hasArg().desc("The
description of A").get())
+ .addOption(Option.builder("b").longOpt("BOpt").hasArg().desc("B
description").get())
+ .addOption(Option.builder().longOpt("COpt").hasArg().desc("A COpt
description").get());
// @formatter:on
HelpFormatter underTest = HelpFormatter.builder().get();
@@ -318,13 +318,13 @@ class HelpFormatterTest {
final HelpFormatter underTest = HelpFormatter.builder().get();
// @formatter:off
final OptionGroup group = new OptionGroup()
-
.addOption(Option.builder().option("o").longOpt("one").hasArg().build())
-
.addOption(Option.builder().option("t").longOpt("two").hasArg().required().argName("other").build())
-
.addOption(Option.builder().option("th").longOpt("three").required().argName("other").build())
- .addOption(Option.builder().option("f").argName("other").build())
-
.addOption(Option.builder().longOpt("five").hasArg().argName("other").build())
-
.addOption(Option.builder().longOpt("six").required().hasArg().argName("other").build())
-
.addOption(Option.builder().option("s").longOpt("sevem").hasArg().build());
+
.addOption(Option.builder().option("o").longOpt("one").hasArg().get())
+
.addOption(Option.builder().option("t").longOpt("two").hasArg().required().argName("other").get())
+
.addOption(Option.builder().option("th").longOpt("three").required().argName("other").get())
+ .addOption(Option.builder().option("f").argName("other").get())
+
.addOption(Option.builder().longOpt("five").hasArg().argName("other").get())
+
.addOption(Option.builder().longOpt("six").required().hasArg().argName("other").get())
+
.addOption(Option.builder().option("s").longOpt("sevem").hasArg().get());
// @formatter:on
assertEquals("[-f | --five <other> | -o <arg> | -s <arg> | --six
<other> | -t <other> | -th]", underTest.toSyntaxOptions(group));
@@ -339,13 +339,13 @@ class HelpFormatterTest {
final HelpFormatter underTest = HelpFormatter.builder().get();
final List<Option> options = new ArrayList<>();
-
options.add(Option.builder().option("o").longOpt("one").hasArg().build());
-
options.add(Option.builder().option("t").longOpt("two").hasArg().required().argName("other").build());
-
options.add(Option.builder().option("th").longOpt("three").required().argName("other").build());
- options.add(Option.builder().option("f").argName("other").build());
-
options.add(Option.builder().longOpt("five").hasArg().argName("other").build());
-
options.add(Option.builder().longOpt("six").required().hasArg().argName("other").build());
-
options.add(Option.builder().option("s").longOpt("sevem").hasArg().build());
+
options.add(Option.builder().option("o").longOpt("one").hasArg().get());
+
options.add(Option.builder().option("t").longOpt("two").hasArg().required().argName("other").get());
+
options.add(Option.builder().option("th").longOpt("three").required().argName("other").get());
+ options.add(Option.builder().option("f").argName("other").get());
+
options.add(Option.builder().longOpt("five").hasArg().argName("other").get());
+
options.add(Option.builder().longOpt("six").required().hasArg().argName("other").get());
+
options.add(Option.builder().option("s").longOpt("sevem").hasArg().get());
assertEquals("[-f] [--five <other>] [-o <arg>] [-s <arg>] --six
<other> -t <other> -th", underTest.toSyntaxOptions(options));
}
@@ -359,44 +359,44 @@ class HelpFormatterTest {
// @formatter:off
options = new Options()
-
.addOption(Option.builder().option("o").longOpt("one").hasArg().build())
-
.addOption(Option.builder().option("t").longOpt("two").hasArg().required().argName("other").build())
-
.addOption(Option.builder().option("th").longOpt("three").required().argName("other").build())
- .addOption(Option.builder().option("f").argName("other").build())
-
.addOption(Option.builder().longOpt("five").hasArg().argName("other").build())
-
.addOption(Option.builder().longOpt("six").required().hasArg().argName("other").build())
-
.addOption(Option.builder().option("s").longOpt("seven").hasArg().build());
+
.addOption(Option.builder().option("o").longOpt("one").hasArg().get())
+
.addOption(Option.builder().option("t").longOpt("two").hasArg().required().argName("other").get())
+
.addOption(Option.builder().option("th").longOpt("three").required().argName("other").get())
+ .addOption(Option.builder().option("f").argName("other").get())
+
.addOption(Option.builder().longOpt("five").hasArg().argName("other").get())
+
.addOption(Option.builder().longOpt("six").required().hasArg().argName("other").get())
+
.addOption(Option.builder().option("s").longOpt("seven").hasArg().get());
// @formatter:on
assertEquals("[-f] [--five <other>] [-o <arg>] [-s <arg>] --six
<other> -t <other> -th", underTest.toSyntaxOptions(options), "assorted options
failed");
// @formatter:off
options = new Options()
-
.addOption(Option.builder().option("o").longOpt("one").hasArg().build())
+
.addOption(Option.builder().option("o").longOpt("one").hasArg().get())
.addOptionGroup(
new OptionGroup()
-
.addOption(Option.builder().option("t").longOpt("two").hasArg().required().argName("other").build())
-
.addOption(Option.builder().option("th").longOpt("three").required().argName("other").build()))
- .addOption(Option.builder().option("f").argName("other").build())
-
.addOption(Option.builder().longOpt("five").hasArg().argName("other").build())
-
.addOption(Option.builder().longOpt("six").required().hasArg().argName("other").build())
-
.addOption(Option.builder().option("s").longOpt("seven").hasArg().build());
+
.addOption(Option.builder().option("t").longOpt("two").hasArg().required().argName("other").get())
+
.addOption(Option.builder().option("th").longOpt("three").required().argName("other").get()))
+ .addOption(Option.builder().option("f").argName("other").get())
+
.addOption(Option.builder().longOpt("five").hasArg().argName("other").get())
+
.addOption(Option.builder().longOpt("six").required().hasArg().argName("other").get())
+
.addOption(Option.builder().option("s").longOpt("seven").hasArg().get());
// @formatter:on
assertEquals("[-f] [--five <other>] [-o <arg>] [-s <arg>] --six
<other> [-t <other> | -th]", underTest.toSyntaxOptions(options),
"option with group failed");
// @formatter:off
final OptionGroup group1 = new OptionGroup()
-
.addOption(Option.builder().option("t").longOpt("two").hasArg().required().argName("other").build())
-
.addOption(Option.builder().option("th").longOpt("three").required().argName("other").build());
+
.addOption(Option.builder().option("t").longOpt("two").hasArg().required().argName("other").get())
+
.addOption(Option.builder().option("th").longOpt("three").required().argName("other").get());
// @formatter:on
group1.setRequired(true);
// @formatter:off
options = new Options()
-
.addOption(Option.builder().option("o").longOpt("one").hasArg().build())
+
.addOption(Option.builder().option("o").longOpt("one").hasArg().get())
.addOptionGroup(group1)
- .addOption(Option.builder().option("f").argName("other").build())
-
.addOption(Option.builder().longOpt("five").hasArg().argName("other").build())
-
.addOption(Option.builder().longOpt("six").required().hasArg().argName("other").build())
-
.addOption(Option.builder().option("s").longOpt("seven").hasArg().build());
+ .addOption(Option.builder().option("f").argName("other").get())
+
.addOption(Option.builder().longOpt("five").hasArg().argName("other").get())
+
.addOption(Option.builder().longOpt("six").required().hasArg().argName("other").get())
+
.addOption(Option.builder().option("s").longOpt("seven").hasArg().get());
// @formatter:on
assertEquals("[-f] [--five <other>] [-o <arg>] [-s <arg>] --six
<other> -t <other> | -th", underTest.toSyntaxOptions(options),
"options with required group failed");
diff --git a/src/test/java/org/apache/commons/cli/help/OptionFormatterTest.java
b/src/test/java/org/apache/commons/cli/help/OptionFormatterTest.java
index e7262fb5..c9e041c5 100644
--- a/src/test/java/org/apache/commons/cli/help/OptionFormatterTest.java
+++ b/src/test/java/org/apache/commons/cli/help/OptionFormatterTest.java
@@ -83,7 +83,7 @@ class OptionFormatterTest {
@Test
void testAsOptional() {
OptionFormatter underTest;
- final Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
+ final Option option =
Option.builder().option("o").longOpt("opt").hasArg().get();
underTest = OptionFormatter.from(option);
assertEquals("[what]", underTest.toOptional("what"));
@@ -99,35 +99,35 @@ class OptionFormatterTest {
void testAsSyntaxOption() {
OptionFormatter underTest;
- Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
+ Option option =
Option.builder().option("o").longOpt("opt").hasArg().get();
underTest = OptionFormatter.from(option);
assertEquals("[-o <arg>]", underTest.toSyntaxOption(), "optional arg
failed");
- option =
Option.builder().option("o").longOpt("opt").hasArg().argName("other").build();
+ option =
Option.builder().option("o").longOpt("opt").hasArg().argName("other").get();
underTest = OptionFormatter.from(option);
assertEquals("[-o <other>]", underTest.toSyntaxOption(), "optional
'other' arg failed");
- option =
Option.builder().option("o").longOpt("opt").hasArg().required().argName("other").build();
+ option =
Option.builder().option("o").longOpt("opt").hasArg().required().argName("other").get();
underTest = OptionFormatter.from(option);
assertEquals("-o <other>", underTest.toSyntaxOption(), "required
'other' arg failed");
- option =
Option.builder().option("o").longOpt("opt").required().argName("other").build();
+ option =
Option.builder().option("o").longOpt("opt").required().argName("other").get();
underTest = OptionFormatter.from(option);
assertEquals("-o", underTest.toSyntaxOption(), "required no arg
failed");
- option = Option.builder().option("o").argName("other").build();
+ option = Option.builder().option("o").argName("other").get();
underTest = OptionFormatter.from(option);
assertEquals("[-o]", underTest.toSyntaxOption(), "optional no arg arg
failed");
- option =
Option.builder().longOpt("opt").hasArg().argName("other").build();
+ option =
Option.builder().longOpt("opt").hasArg().argName("other").get();
underTest = OptionFormatter.from(option);
assertEquals("[--opt <other>]", underTest.toSyntaxOption(), "optional
longOpt 'other' arg failed");
- option =
Option.builder().longOpt("opt").required().hasArg().argName("other").build();
+ option =
Option.builder().longOpt("opt").required().hasArg().argName("other").get();
underTest = OptionFormatter.from(option);
assertEquals("--opt <other>", underTest.toSyntaxOption(), "required
longOpt 'other' arg failed");
- option = Option.builder().option("ot").longOpt("opt").hasArg().build();
+ option = Option.builder().option("ot").longOpt("opt").hasArg().get();
underTest = OptionFormatter.from(option);
assertEquals("[-ot <arg>]", underTest.toSyntaxOption(), "optional
multi char opt arg failed");
}
@@ -138,8 +138,8 @@ class OptionFormatterTest {
final Option.Builder builder = Option.builder("o").deprecated(da);
final Option.Builder builderWithDesc = Option.builder("o").desc("The
description").deprecated(da);
- assertEquals(expected,
OptionFormatter.COMPLEX_DEPRECATED_FORMAT.apply(builder.build()));
- assertEquals(expected + " The description",
OptionFormatter.COMPLEX_DEPRECATED_FORMAT.apply(builderWithDesc.build()));
+ assertEquals(expected,
OptionFormatter.COMPLEX_DEPRECATED_FORMAT.apply(builder.get()));
+ assertEquals(expected + " The description",
OptionFormatter.COMPLEX_DEPRECATED_FORMAT.apply(builderWithDesc.get()));
}
@Test
@@ -158,13 +158,13 @@ class OptionFormatterTest {
.setDeprecatedFormatFunction(depFunc);
// @formatter:on
- Option option = Option.builder("o").longOpt("opt").build();
+ Option option = Option.builder("o").longOpt("opt").get();
OptionFormatter formatter = builder.build(option);
OptionFormatter.Builder builder2 = new
OptionFormatter.Builder(formatter);
assertEquivalent(formatter, builder2.build(option));
- option =
Option.builder("o").longOpt("opt").deprecated().required().build();
+ option =
Option.builder("o").longOpt("opt").deprecated().required().get();
formatter = builder.build(option);
builder2 = new OptionFormatter.Builder(formatter);
assertEquivalent(formatter, builder2.build(option));
@@ -173,12 +173,12 @@ class OptionFormatterTest {
@Test
void testDefaultSyntaxFormat() {
- Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
+ Option option =
Option.builder().option("o").longOpt("opt").hasArg().get();
OptionFormatter formatter = OptionFormatter.from(option);
assertEquals("[-o <arg>]", formatter.toSyntaxOption());
assertEquals("-o <arg>", formatter.toSyntaxOption(true));
- option =
Option.builder().option("o").longOpt("opt").hasArg().required().build();
+ option =
Option.builder().option("o").longOpt("opt").hasArg().required().get();
formatter = OptionFormatter.from(option);
assertEquals("-o <arg>", formatter.toSyntaxOption());
assertEquals("[-o <arg>]", formatter.toSyntaxOption(false));
@@ -188,27 +188,27 @@ class OptionFormatterTest {
void testGetBothOpt() {
OptionFormatter underTest;
- Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
+ Option option =
Option.builder().option("o").longOpt("opt").hasArg().get();
underTest = OptionFormatter.from(option);
assertEquals("-o, --opt", underTest.getBothOpt());
- option = Option.builder().longOpt("opt").hasArg().build();
+ option = Option.builder().longOpt("opt").hasArg().get();
underTest = OptionFormatter.from(option);
assertEquals("--opt", underTest.getBothOpt());
- option = Option.builder().option("o").hasArg().build();
+ option = Option.builder().option("o").hasArg().get();
underTest = OptionFormatter.from(option);
assertEquals("-o", underTest.getBothOpt());
}
@Test
void testGetDescription() {
- final Option normalOption =
Option.builder().option("o").longOpt("one").hasArg().desc("The
description").build();
+ final Option normalOption =
Option.builder().option("o").longOpt("one").hasArg().desc("The
description").get();
- final Option deprecatedOption =
Option.builder().option("o").longOpt("one").hasArg().desc("The
description").deprecated().build();
+ final Option deprecatedOption =
Option.builder().option("o").longOpt("one").hasArg().desc("The
description").deprecated().get();
final Option deprecatedOptionWithAttributes =
Option.builder().option("o").longOpt("one").hasArg().desc("The description")
-
.deprecated(DeprecatedAttributes.builder().setForRemoval(true).setSince("now").setDescription("Use
something else").get()).build();
+
.deprecated(DeprecatedAttributes.builder().setForRemoval(true).setSince("now").setDescription("Use
something else").get()).get();
assertEquals("The description",
OptionFormatter.from(normalOption).getDescription(), "normal option failure");
assertEquals("The description",
OptionFormatter.from(deprecatedOption).getDescription(), "deprecated option
failure");
@@ -230,7 +230,7 @@ class OptionFormatterTest {
@Test
void testSetArgumentNameDelimiters() {
- final Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
+ final Option option =
Option.builder().option("o").longOpt("opt").hasArg().get();
OptionFormatter.Builder builder =
OptionFormatter.builder().setArgumentNameDelimiters("with argument named ",
".");
assertEquals("with argument named arg.",
builder.build(option).getArgName());
@@ -244,7 +244,7 @@ class OptionFormatterTest {
@Test
void testSetDefaultArgName() {
- final Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
+ final Option option =
Option.builder().option("o").longOpt("opt").hasArg().get();
OptionFormatter.Builder builder =
OptionFormatter.builder().setDefaultArgName("foo");
assertEquals("<foo>", builder.build(option).getArgName());
@@ -257,7 +257,7 @@ class OptionFormatterTest {
@Test
void testSetLongOptPrefix() {
- final Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
+ final Option option =
Option.builder().option("o").longOpt("opt").hasArg().get();
OptionFormatter.Builder builder =
OptionFormatter.builder().setLongOptPrefix("fo");
assertEquals("foopt", builder.build(option).getLongOpt());
@@ -270,7 +270,7 @@ class OptionFormatterTest {
@Test
void testSetOptArgumentSeparator() {
- final Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
+ final Option option =
Option.builder().option("o").longOpt("opt").hasArg().get();
OptionFormatter.Builder builder =
OptionFormatter.builder().setOptArgSeparator(" with argument named ");
assertEquals("[-o with argument named <arg>]",
builder.build(option).toSyntaxOption());
@@ -283,7 +283,7 @@ class OptionFormatterTest {
@Test
void testSetOptSeparator() {
- final Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
+ final Option option =
Option.builder().option("o").longOpt("opt").hasArg().get();
OptionFormatter.Builder builder =
OptionFormatter.builder().setOptSeparator(" and ");
assertEquals("-o and --opt", builder.build(option).getBothOpt());
@@ -297,7 +297,7 @@ class OptionFormatterTest {
@Test
void testSetSyntaxFormatFunction() {
final BiFunction<OptionFormatter, Boolean, String> func = (o, b) ->
"Yep, it worked";
- final Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
+ final Option option =
Option.builder().option("o").longOpt("opt").hasArg().get();
OptionFormatter.Builder builder =
OptionFormatter.builder().setSyntaxFormatFunction(func);
assertEquals("Yep, it worked", builder.build(option).toSyntaxOption());