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 e44db7a1 Normalize builder pattern
e44db7a1 is described below

commit e44db7a18ffc31400eeedaea749ac89f9ee654f6
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Wed Oct 16 18:37:13 2024 -0400

    Normalize builder pattern
    
    - Add Javadoc
    - Don't static import String in tests
    - Move factory methods to their home class
---
 .../commons/cli/help/AbstractHelpFormatter.java    | 16 ++------
 .../org/apache/commons/cli/help/HelpFormatter.java | 10 ++---
 .../apache/commons/cli/help/OptionFormatter.java   | 23 +++++++----
 .../commons/cli/help/TextHelpAppendable.java       | 12 +++---
 .../commons/cli/example/AptHelpAppendable.java     | 18 ++++-----
 .../commons/cli/example/AptHelpAppendableTest.java | 13 +++----
 .../commons/cli/example/XhtmlHelpAppendable.java   | 32 ++++++++-------
 .../cli/example/XhtmlHelpAppendableTest.java       | 13 +++----
 .../apache/commons/cli/help/HelpFormatterTest.java | 13 ++++---
 .../commons/cli/help/OptionFormatterTest.java      | 45 ++++++++++++----------
 .../commons/cli/help/TextHelpAppendableTest.java   | 10 +++--
 .../java/org/apache/commons/cli/help/UtilTest.java | 11 +++---
 12 files changed, 110 insertions(+), 106 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/cli/help/AbstractHelpFormatter.java 
b/src/main/java/org/apache/commons/cli/help/AbstractHelpFormatter.java
index b930944f..93fab755 100644
--- a/src/main/java/org/apache/commons/cli/help/AbstractHelpFormatter.java
+++ b/src/main/java/org/apache/commons/cli/help/AbstractHelpFormatter.java
@@ -54,10 +54,10 @@ public abstract class AbstractHelpFormatter {
         private Comparator<Option> comparator = DEFAULT_COMPARATOR;
 
         /** The {@link HelpAppendable} to use */
-        private HelpAppendable helpAppendable = defaultTextHelpAppendable();
+        private HelpAppendable helpAppendable = TextHelpAppendable.systemOut();
 
         /** The {@link OptionFormatter.Builder} to use to format options in 
the table. */
-        private OptionFormatter.Builder optionFormatBuilder = 
defaultOptionFormatterBuilder();
+        private OptionFormatter.Builder optionFormatBuilder = 
OptionFormatter.builder();
 
         /** The string to separate option groups with */
         private String optionGroupSeparator = DEFAULT_OPTION_GROUP_SEPARATOR;
@@ -82,14 +82,6 @@ public abstract class AbstractHelpFormatter {
             return (B) this;
         }
 
-        protected OptionFormatter.Builder defaultOptionFormatterBuilder() {
-            return new OptionFormatter.Builder();
-        }
-
-        protected TextHelpAppendable defaultTextHelpAppendable() {
-            return new TextHelpAppendable(System.out);
-        }
-
         protected Comparator<Option> getComparator() {
             return comparator;
         }
@@ -124,7 +116,7 @@ public abstract class AbstractHelpFormatter {
          * @return this
          */
         public B setHelpAppendable(final HelpAppendable helpAppendable) {
-            this.helpAppendable = helpAppendable != null ? helpAppendable : 
defaultTextHelpAppendable();
+            this.helpAppendable = helpAppendable != null ? helpAppendable : 
TextHelpAppendable.systemOut();
             return asThis();
         }
 
@@ -135,7 +127,7 @@ public abstract class AbstractHelpFormatter {
          * @return this
          */
         public B setOptionFormatBuilder(final OptionFormatter.Builder 
optionFormatBuilder) {
-            this.optionFormatBuilder = optionFormatBuilder != null ? 
optionFormatBuilder : defaultOptionFormatterBuilder();
+            this.optionFormatBuilder = optionFormatBuilder != null ? 
optionFormatBuilder : OptionFormatter.builder();
             return asThis();
         }
 
diff --git a/src/main/java/org/apache/commons/cli/help/HelpFormatter.java 
b/src/main/java/org/apache/commons/cli/help/HelpFormatter.java
index 91c6c8ac..69692dbb 100644
--- a/src/main/java/org/apache/commons/cli/help/HelpFormatter.java
+++ b/src/main/java/org/apache/commons/cli/help/HelpFormatter.java
@@ -85,6 +85,11 @@ public class HelpFormatter extends AbstractHelpFormatter {
             // empty
         }
 
+        @Override
+        public HelpFormatter get() {
+            return new HelpFormatter(this);
+        }
+
         /**
          * Sets the showSince flag.
          *
@@ -95,11 +100,6 @@ public class HelpFormatter extends AbstractHelpFormatter {
             this.showSince = showSince;
             return this;
         }
-
-        @Override
-        public HelpFormatter get() {
-            return new HelpFormatter(this);
-        }
     }
 
     /** Default number of characters per line */
diff --git a/src/main/java/org/apache/commons/cli/help/OptionFormatter.java 
b/src/main/java/org/apache/commons/cli/help/OptionFormatter.java
index 66313ecf..c535b284 100644
--- a/src/main/java/org/apache/commons/cli/help/OptionFormatter.java
+++ b/src/main/java/org/apache/commons/cli/help/OptionFormatter.java
@@ -66,7 +66,7 @@ public final class OptionFormatter {
         /**
          * Default constructor. Uses the defaults specified in {@link 
OptionFormatter}.
          */
-        public Builder() {
+        private Builder() {
             argNameDelimiters = Arrays.copyOf(DEFAULT_ARG_NAME_DELIMITERS, 2);
             defaultArgName = DEFAULT_ARG_NAME;
             deprecatedFormatFunction = NO_DEPRECATED_FORMAT;
@@ -103,6 +103,12 @@ public final class OptionFormatter {
             return new OptionFormatter(option, this);
         }
 
+        @Override
+        public OptionFormatter get() {
+            // TODO Auto-generated method stub
+            return null;
+        }
+
         /**
          * Specifies the starting and ending argument name delimiters for 
{@link Option} instances.
          *
@@ -217,12 +223,6 @@ public final class OptionFormatter {
         public String toArgName(final String argName) {
             return argNameDelimiters[0] + Util.defaultValue(argName, "") + 
argNameDelimiters[1];
         }
-
-        @Override
-        public OptionFormatter get() {
-            // TODO Auto-generated method stub
-            return null;
-        }
     }
 
     /** The default delimiters for optional arguments */
@@ -291,6 +291,15 @@ public final class OptionFormatter {
      */
     public static final String DEFAULT_OPT_ARG_SEPARATOR = " ";
 
+    /**
+     * Creates a new builder.
+     *
+     * @return a new builder.
+     */
+    public static Builder builder() {
+        return new Builder();
+    }
+
     /**
      * Construct the {@link OptionFormatter} from an {@link Option} using the 
default {@link OptionFormatter.Builder}.
      *
diff --git a/src/main/java/org/apache/commons/cli/help/TextHelpAppendable.java 
b/src/main/java/org/apache/commons/cli/help/TextHelpAppendable.java
index 009da692..feb6fa39 100644
--- a/src/main/java/org/apache/commons/cli/help/TextHelpAppendable.java
+++ b/src/main/java/org/apache/commons/cli/help/TextHelpAppendable.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.cli.help;
 
-import static java.lang.String.format;
-
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -102,6 +100,10 @@ public class TextHelpAppendable extends 
FilterHelpAppendable {
         return pos > startPos ? pos : limit - 1;
     }
 
+    protected static TextHelpAppendable systemOut() {
+        return new TextHelpAppendable(System.out);
+    }
+
     /** Defines the TextStyle for paragraph, and associated output formats. */
     private final TextStyle.Builder textStyleBuilder;
 
@@ -213,8 +215,8 @@ public class TextHelpAppendable extends 
FilterHelpAppendable {
             final TextStyle.Builder builder = 
TextStyle.builder().setLeftPad(textStyleBuilder.getLeftPad()).setIndent(DEFAULT_LIST_INDENT);
             int i = 1;
             for (final CharSequence line : list) {
-                final String entry = ordered ? format(" %s. %s", i++, 
Util.defaultValue(line, BLANK_LINE))
-                        : format(" * %s", Util.defaultValue(line, BLANK_LINE));
+                final String entry = ordered ? String.format(" %s. %s", i++, 
Util.defaultValue(line, BLANK_LINE))
+                        : String.format(" * %s", Util.defaultValue(line, 
BLANK_LINE));
                 builder.setMaxWidth(Math.min(textStyleBuilder.getMaxWidth(), 
entry.length()));
                 printQueue(makeColumnQueue(entry, builder.get()));
             }
@@ -343,7 +345,7 @@ public class TextHelpAppendable extends 
FilterHelpAppendable {
      */
     private void printQueue(final Queue<String> queue) throws IOException {
         for (final String s : queue) {
-            output.append(format("%s%n", Util.rtrim(s)));
+            output.append(String.format("%s%n", Util.rtrim(s)));
         }
     }
 
diff --git 
a/src/test/java/org/apache/commons/cli/example/AptHelpAppendable.java 
b/src/test/java/org/apache/commons/cli/example/AptHelpAppendable.java
index 9aff41d9..ae79417d 100644
--- a/src/test/java/org/apache/commons/cli/example/AptHelpAppendable.java
+++ b/src/test/java/org/apache/commons/cli/example/AptHelpAppendable.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.cli.example;
 
-import static java.lang.String.format;
-
 import java.io.IOException;
 import java.util.Collection;
 import java.util.HashMap;
@@ -69,7 +67,7 @@ public class AptHelpAppendable extends FilterHelpAppendable {
             for (int i = 0; i < level; i++) {
                 output.append("*");
             }
-            output.append(format(" %s%n%n", ESCAPE_APT.translate(text)));
+            output.append(String.format(" %s%n%n", 
ESCAPE_APT.translate(text)));
         }
     }
 
@@ -79,11 +77,11 @@ public class AptHelpAppendable extends FilterHelpAppendable 
{
             if (ordered) {
                 int idx = 1;
                 for (final CharSequence s : list) {
-                    output.append(format("    [[%s]] %s%n", idx++, 
ESCAPE_APT.translate(s)));
+                    output.append(String.format("    [[%s]] %s%n", idx++, 
ESCAPE_APT.translate(s)));
                 }
             } else {
                 for (final CharSequence s : list) {
-                    output.append(format("    * %s%n", 
ESCAPE_APT.translate(s)));
+                    output.append(String.format("    * %s%n", 
ESCAPE_APT.translate(s)));
                 }
             }
             output.append(System.lineSeparator());
@@ -93,7 +91,7 @@ public class AptHelpAppendable extends FilterHelpAppendable {
     @Override
     public void appendParagraph(final CharSequence paragraph) throws 
IOException {
         if (StringUtils.isNotEmpty(paragraph)) {
-            output.append(format("  %s%n%n", ESCAPE_APT.translate(paragraph)));
+            output.append(String.format("  %s%n%n", 
ESCAPE_APT.translate(paragraph)));
         }
     }
 
@@ -123,20 +121,20 @@ public class AptHelpAppendable extends 
FilterHelpAppendable {
             output.append(sb.toString());
             output.append("|");
             for (final String header : table.headers()) {
-                output.append(format(" %s |", ESCAPE_APT.translate(header)));
+                output.append(String.format(" %s |", 
ESCAPE_APT.translate(header)));
             }
             output.append(rowSeparator);
             // write the table entries
             for (final Collection<String> row : table.rows()) {
                 output.append("|");
                 for (final String cell : row) {
-                    output.append(format(" %s |", ESCAPE_APT.translate(cell)));
+                    output.append(String.format(" %s |", 
ESCAPE_APT.translate(cell)));
                 }
                 output.append(rowSeparator);
             }
             // write the caption
             if (StringUtils.isNotEmpty(table.caption())) {
-                output.append(format("%s%n", 
ESCAPE_APT.translate(table.caption())));
+                output.append(String.format("%s%n", 
ESCAPE_APT.translate(table.caption())));
             }
             output.append(System.lineSeparator());
         }
@@ -145,7 +143,7 @@ public class AptHelpAppendable extends FilterHelpAppendable 
{
     @Override
     public void appendTitle(final CharSequence title) throws IOException {
         if (StringUtils.isNotEmpty(title)) {
-            output.append(format("        -----%n        %1$s%n        
-----%n%n%1$s%n%n", title));
+            output.append(String.format("        -----%n        %1$s%n        
-----%n%n%1$s%n%n", title));
         }
     }
 }
diff --git 
a/src/test/java/org/apache/commons/cli/example/AptHelpAppendableTest.java 
b/src/test/java/org/apache/commons/cli/example/AptHelpAppendableTest.java
index 6b56af8f..0a0bdc5e 100644
--- a/src/test/java/org/apache/commons/cli/example/AptHelpAppendableTest.java
+++ b/src/test/java/org/apache/commons/cli/example/AptHelpAppendableTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.cli.example;
 
-import static java.lang.String.format;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
@@ -41,10 +40,10 @@ public class AptHelpAppendableTest {
     public void testAppendHeaderTest() throws IOException {
         sb.setLength(0);
         underTest.appendHeader(1, "Hello World");
-        assertEquals(format("* Hello World%n%n"), sb.toString());
+        assertEquals(String.format("* Hello World%n%n"), sb.toString());
         sb.setLength(0);
         underTest.appendHeader(2, "Hello World");
-        assertEquals(format("** Hello World%n%n"), sb.toString());
+        assertEquals(String.format("** Hello World%n%n"), sb.toString());
         sb.setLength(0);
         assertThrows(IllegalArgumentException.class, () -> 
underTest.appendHeader(0, "Hello World"));
     }
@@ -54,17 +53,17 @@ public class AptHelpAppendableTest {
         final String[] entries = { "one", "two", "three" };
         sb.setLength(0);
         underTest.appendList(true, Arrays.asList(entries));
-        assertEquals(format("    [[1]] one%n    [[2]] two%n    [[3]] 
three%n%n"), sb.toString());
+        assertEquals(String.format("    [[1]] one%n    [[2]] two%n    [[3]] 
three%n%n"), sb.toString());
         sb.setLength(0);
         underTest.appendList(false, Arrays.asList(entries));
-        assertEquals(format("    * one%n    * two%n    * three%n%n"), 
sb.toString());
+        assertEquals(String.format("    * one%n    * two%n    * three%n%n"), 
sb.toString());
     }
 
     @Test
     public void testAppendParagraphTest() throws IOException {
         sb.setLength(0);
         underTest.appendParagraph("Hello World");
-        assertEquals(format("  Hello World%n%n"), sb.toString());
+        assertEquals(String.format("  Hello World%n%n"), sb.toString());
     }
 
     @Test
@@ -118,6 +117,6 @@ public class AptHelpAppendableTest {
     public void testAppendTitleTest() throws IOException {
         sb.setLength(0);
         underTest.appendTitle("Hello World");
-        assertEquals(format("        -----%n        Hello World%n        
-----%n%nHello World%n%n"), sb.toString());
+        assertEquals(String.format("        -----%n        Hello World%n       
 -----%n%nHello World%n%n"), sb.toString());
     }
 }
diff --git 
a/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendable.java 
b/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendable.java
index 91adca1c..dd8ecb1b 100644
--- a/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendable.java
+++ b/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendable.java
@@ -16,8 +16,6 @@
  */
 package org.apache.commons.cli.example;
 
-import static java.lang.String.format;
-
 import java.io.IOException;
 import java.util.Collection;
 import java.util.List;
@@ -48,53 +46,53 @@ public class XhtmlHelpAppendable extends 
FilterHelpAppendable {
             if (level < 1) {
                 throw new IllegalArgumentException("level must be at least 1");
             }
-            output.append(format("<h%s>%s</h%1$s>%n", level, 
StringEscapeUtils.escapeHtml4(text.toString())));
+            output.append(String.format("<h%s>%s</h%1$s>%n", level, 
StringEscapeUtils.escapeHtml4(text.toString())));
         }
     }
 
     @Override
     public void appendList(final boolean ordered, final 
Collection<CharSequence> list) throws IOException {
-        output.append(format("<%sl>%n", ordered ? "o" : "u"));
+        output.append(String.format("<%sl>%n", ordered ? "o" : "u"));
         for (final CharSequence line : list) {
-            output.append(format("  <li>%s</li>%n", 
StringEscapeUtils.escapeHtml4(StringUtils.defaultIfEmpty(line, 
"").toString())));
+            output.append(String.format("  <li>%s</li>%n", 
StringEscapeUtils.escapeHtml4(StringUtils.defaultIfEmpty(line, 
"").toString())));
         }
-        output.append(format("</%sl>%n", ordered ? "o" : "u"));
+        output.append(String.format("</%sl>%n", ordered ? "o" : "u"));
     }
 
     @Override
     public void appendParagraph(final CharSequence paragraph) throws 
IOException {
         if (StringUtils.isNotEmpty(paragraph)) {
-            output.append(format("<p>%s</p>%n", 
StringEscapeUtils.escapeHtml4(paragraph.toString())));
+            output.append(String.format("<p>%s</p>%n", 
StringEscapeUtils.escapeHtml4(paragraph.toString())));
         }
     }
 
     @Override
     public void appendTable(final TableDefinition table) throws IOException {
-        output.append(format("<table class='commons_cli_table'>%n"));
+        output.append(String.format("<table class='commons_cli_table'>%n"));
         if (StringUtils.isNotEmpty(table.caption())) {
-            output.append(format("  <caption>%s</caption>%n", 
StringEscapeUtils.escapeHtml4(table.caption())));
+            output.append(String.format("  <caption>%s</caption>%n", 
StringEscapeUtils.escapeHtml4(table.caption())));
         }
         // write the headers
         if (!table.headers().isEmpty()) {
-            output.append(format("  <tr>%n"));
+            output.append(String.format("  <tr>%n"));
             for (final String header : table.headers()) {
-                output.append(format("    <th>%s</th>%n", 
StringEscapeUtils.escapeHtml4(header)));
+                output.append(String.format("    <th>%s</th>%n", 
StringEscapeUtils.escapeHtml4(header)));
             }
-            output.append(format("  </tr>%n"));
+            output.append(String.format("  </tr>%n"));
         }
         // write the data
         for (final List<String> row : table.rows()) {
-            output.append(format("  <tr>%n"));
+            output.append(String.format("  <tr>%n"));
             for (final String column : row) {
-                output.append(format("    <td>%s</td>%n", 
StringEscapeUtils.escapeHtml4(column)));
+                output.append(String.format("    <td>%s</td>%n", 
StringEscapeUtils.escapeHtml4(column)));
             }
-            output.append(format("  </tr>%n"));
+            output.append(String.format("  </tr>%n"));
         }
-        output.append(format("</table>%n"));
+        output.append(String.format("</table>%n"));
     }
 
     @Override
     public void appendTitle(final CharSequence title) throws IOException {
-        output.append(format("<span class='commons_cli_title'>%s</span>%n", 
StringEscapeUtils.escapeHtml4(title.toString())));
+        output.append(String.format("<span 
class='commons_cli_title'>%s</span>%n", 
StringEscapeUtils.escapeHtml4(title.toString())));
     }
 }
diff --git 
a/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendableTest.java 
b/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendableTest.java
index 11fe840e..8425a6b7 100644
--- a/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendableTest.java
+++ b/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendableTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.cli.example;
 
-import static java.lang.String.format;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
@@ -41,10 +40,10 @@ public class XhtmlHelpAppendableTest {
     public void testAppendHeaderTest() throws IOException {
         sb.setLength(0);
         underTest.appendHeader(1, "Hello World");
-        assertEquals(format("<h1>Hello World</h1>%n"), sb.toString());
+        assertEquals(String.format("<h1>Hello World</h1>%n"), sb.toString());
         sb.setLength(0);
         underTest.appendHeader(2, "Hello World");
-        assertEquals(format("<h2>Hello World</h2>%n"), sb.toString());
+        assertEquals(String.format("<h2>Hello World</h2>%n"), sb.toString());
         sb.setLength(0);
         assertThrows(IllegalArgumentException.class, () -> 
underTest.appendHeader(0, "Hello World"));
     }
@@ -54,17 +53,17 @@ public class XhtmlHelpAppendableTest {
         final String[] entries = { "one", "two", "three" };
         sb.setLength(0);
         underTest.appendList(true, Arrays.asList(entries));
-        assertEquals(format("<ol>%n  <li>one</li>%n  <li>two</li>%n  
<li>three</li>%n</ol>%n"), sb.toString());
+        assertEquals(String.format("<ol>%n  <li>one</li>%n  <li>two</li>%n  
<li>three</li>%n</ol>%n"), sb.toString());
         sb.setLength(0);
         underTest.appendList(false, Arrays.asList(entries));
-        assertEquals(format("<ul>%n  <li>one</li>%n  <li>two</li>%n  
<li>three</li>%n</ul>%n"), sb.toString());
+        assertEquals(String.format("<ul>%n  <li>one</li>%n  <li>two</li>%n  
<li>three</li>%n</ul>%n"), sb.toString());
     }
 
     @Test
     public void testAppendParagraphTest() throws IOException {
         sb.setLength(0);
         underTest.appendParagraph("Hello World");
-        assertEquals(format("<p>Hello World</p>%n"), sb.toString());
+        assertEquals(String.format("<p>Hello World</p>%n"), sb.toString());
     }
 
     @Test
@@ -132,6 +131,6 @@ public class XhtmlHelpAppendableTest {
     public void testAppendTitleTest() throws IOException {
         sb.setLength(0);
         underTest.appendTitle("Hello World");
-        assertEquals(format("<span class='commons_cli_title'>Hello 
World</span>%n"), sb.toString());
+        assertEquals(String.format("<span class='commons_cli_title'>Hello 
World</span>%n"), sb.toString());
     }
 }
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 df0df3b3..e64d2d68 100644
--- a/src/test/java/org/apache/commons/cli/help/HelpFormatterTest.java
+++ b/src/test/java/org/apache/commons/cli/help/HelpFormatterTest.java
@@ -33,6 +33,9 @@ import org.apache.commons.cli.example.XhtmlHelpAppendable;
 import org.apache.commons.io.IOUtils;
 import org.junit.jupiter.api.Test;
 
+/**
+ * Tests {@link HelpFormatter}.
+ */
 public class HelpFormatterTest {
 
     private Options getTestGroups() {
@@ -89,7 +92,7 @@ public class HelpFormatterTest {
         List<String> actual = IOUtils.readLines(new 
StringReader(sb.toString()));
         assertEquals(expected, actual);
 
-        formatter = new 
HelpFormatter.Builder().setShowSince(false).setHelpAppendable(serializer).get();
+        formatter = 
HelpFormatter.builder().setShowSince(false).setHelpAppendable(serializer).get();
         expected = new ArrayList<>();
         expected.add(" usage:  commandSyntax [-a <arg>]");
         expected.add("");
@@ -179,7 +182,7 @@ public class HelpFormatterTest {
     public void testPrintOptions() throws IOException {
         final StringBuilder sb = new StringBuilder();
         final TextHelpAppendable serializer = new TextHelpAppendable(sb);
-        final HelpFormatter formatter = new 
HelpFormatter.Builder().setHelpAppendable(serializer).setShowSince(false).get();
+        final HelpFormatter formatter = 
HelpFormatter.builder().setHelpAppendable(serializer).setShowSince(false).get();
 
         // help format default column styles
         // col options description helpAppendable
@@ -227,8 +230,8 @@ public class HelpFormatterTest {
 
     @Test
     public void testSetOptionFormatBuilderTest() {
-        final HelpFormatter.Builder underTest = new HelpFormatter.Builder();
-        final OptionFormatter.Builder ofBuilder = new 
OptionFormatter.Builder().setOptPrefix("Just Another ");
+        final HelpFormatter.Builder underTest = HelpFormatter.builder();
+        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());
@@ -281,7 +284,7 @@ public class HelpFormatterTest {
 
         expected.set(0, expected.get(2));
         expected.set(2, options.getOption("a"));
-        underTest = new 
HelpFormatter.Builder().setComparator(AbstractHelpFormatter.DEFAULT_COMPARATOR.reversed()).get();
+        underTest = 
HelpFormatter.builder().setComparator(AbstractHelpFormatter.DEFAULT_COMPARATOR.reversed()).get();
         assertEquals(expected, underTest.sort(options));
 
         assertEquals(0, underTest.sort(Collections.emptyList()).size(), "empty 
colleciton should return empty list");
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 d489fff8..6ab7b59f 100644
--- a/src/test/java/org/apache/commons/cli/help/OptionFormatterTest.java
+++ b/src/test/java/org/apache/commons/cli/help/OptionFormatterTest.java
@@ -31,6 +31,9 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 
+/**
+ * Tests {@link OptionFormatter}.
+ */
 public class OptionFormatterTest {
 
     public static Stream<Arguments> deprecatedAttributesData() {
@@ -87,7 +90,7 @@ public class OptionFormatterTest {
         assertEquals("", underTest.toOptional(""), "enpty string should return 
empty string");
         assertEquals("", underTest.toOptional(null), "null should return empty 
string");
 
-        underTest = new OptionFormatter.Builder().setOptionalDelimiters("-> ", 
" <-").build(option);
+        underTest = OptionFormatter.builder().setOptionalDelimiters("-> ", " 
<-").build(option);
         assertEquals("-> what <-", underTest.toOptional("what"));
 
     }
@@ -144,7 +147,7 @@ public class OptionFormatterTest {
         final Function<Option, String> depFunc = o -> "Ooo Deprecated";
         final BiFunction<OptionFormatter, Boolean, String> fmtFunc = (o, b) -> 
"Yep, it worked";
         // @formatter:off
-        final OptionFormatter.Builder builder = new OptionFormatter.Builder()
+        final OptionFormatter.Builder builder = OptionFormatter.builder()
                 .setLongOptPrefix("l")
                 .setOptPrefix("s")
                 .setArgumentNameDelimiters("{", "}")
@@ -211,13 +214,13 @@ public class OptionFormatterTest {
         assertEquals("The description", 
OptionFormatter.from(deprecatedOption).getDescription(), "deprecated option 
failure");
         assertEquals("The description", 
OptionFormatter.from(deprecatedOptionWithAttributes).getDescription(), "complex 
deprecated option failure");
 
-        OptionFormatter.Builder builder = new 
OptionFormatter.Builder().setDeprecatedFormatFunction(OptionFormatter.SIMPLE_DEPRECATED_FORMAT);
+        OptionFormatter.Builder builder = 
OptionFormatter.builder().setDeprecatedFormatFunction(OptionFormatter.SIMPLE_DEPRECATED_FORMAT);
 
         assertEquals("The description", 
builder.build(normalOption).getDescription(), "normal option failure");
         assertEquals("[Deprecated] The description", 
builder.build(deprecatedOption).getDescription(), "deprecated option failure");
         assertEquals("[Deprecated] The description", 
builder.build(deprecatedOptionWithAttributes).getDescription(), "complex 
deprecated option failure");
 
-        builder = new 
OptionFormatter.Builder().setDeprecatedFormatFunction(OptionFormatter.COMPLEX_DEPRECATED_FORMAT);
+        builder = 
OptionFormatter.builder().setDeprecatedFormatFunction(OptionFormatter.COMPLEX_DEPRECATED_FORMAT);
 
         assertEquals("The description", 
builder.build(normalOption).getDescription(), "normal option failure");
         assertEquals("[Deprecated] The description", 
builder.build(deprecatedOption).getDescription(), "deprecated option failure");
@@ -228,13 +231,13 @@ public class OptionFormatterTest {
     @Test
     public void testSetArgumentNameDelimiters() {
         final Option option = 
Option.builder().option("o").longOpt("opt").hasArg().build();
-        OptionFormatter.Builder builder = new 
OptionFormatter.Builder().setArgumentNameDelimiters("with argument named ", 
".");
+        OptionFormatter.Builder builder = 
OptionFormatter.builder().setArgumentNameDelimiters("with argument named ", 
".");
         assertEquals("with argument named arg.", 
builder.build(option).getArgName());
 
-        builder = new 
OptionFormatter.Builder().setArgumentNameDelimiters(null, "");
+        builder = OptionFormatter.builder().setArgumentNameDelimiters(null, 
"");
         assertEquals("arg", builder.build(option).getArgName());
 
-        builder = new OptionFormatter.Builder().setArgumentNameDelimiters("", 
null);
+        builder = OptionFormatter.builder().setArgumentNameDelimiters("", 
null);
         assertEquals("arg", builder.build(option).getArgName());
 
     }
@@ -242,52 +245,52 @@ public class OptionFormatterTest {
     @Test
     public void testSetDefaultArgName() {
         final Option option = 
Option.builder().option("o").longOpt("opt").hasArg().build();
-        OptionFormatter.Builder builder = new 
OptionFormatter.Builder().setDefaultArgName("foo");
+        OptionFormatter.Builder builder = 
OptionFormatter.builder().setDefaultArgName("foo");
         assertEquals("<foo>", builder.build(option).getArgName());
 
-        builder = new OptionFormatter.Builder().setDefaultArgName("");
+        builder = OptionFormatter.builder().setDefaultArgName("");
         assertEquals("<arg>", builder.build(option).getArgName());
 
-        builder = new OptionFormatter.Builder().setDefaultArgName(null);
+        builder = OptionFormatter.builder().setDefaultArgName(null);
         assertEquals("<arg>", builder.build(option).getArgName());
     }
 
     @Test
     public void testSetLongOptPrefix() {
         final Option option = 
Option.builder().option("o").longOpt("opt").hasArg().build();
-        OptionFormatter.Builder builder = new 
OptionFormatter.Builder().setLongOptPrefix("fo");
+        OptionFormatter.Builder builder = 
OptionFormatter.builder().setLongOptPrefix("fo");
         assertEquals("foopt", builder.build(option).getLongOpt());
 
-        builder = new OptionFormatter.Builder().setLongOptPrefix("");
+        builder = OptionFormatter.builder().setLongOptPrefix("");
         assertEquals("opt", builder.build(option).getLongOpt());
 
-        builder = new OptionFormatter.Builder().setLongOptPrefix(null);
+        builder = OptionFormatter.builder().setLongOptPrefix(null);
         assertEquals("opt", builder.build(option).getLongOpt());
     }
 
     @Test
     public void testSetOptArgumentSeparator() {
         final Option option = 
Option.builder().option("o").longOpt("opt").hasArg().build();
-        OptionFormatter.Builder builder = new 
OptionFormatter.Builder().setOptArgSeparator(" with argument named ");
+        OptionFormatter.Builder builder = 
OptionFormatter.builder().setOptArgSeparator(" with argument named ");
         assertEquals("[-o with argument named <arg>]", 
builder.build(option).toSyntaxOption());
 
-        builder = new OptionFormatter.Builder().setOptArgSeparator(null);
+        builder = OptionFormatter.builder().setOptArgSeparator(null);
         assertEquals("[-o<arg>]", builder.build(option).toSyntaxOption());
 
-        builder = new OptionFormatter.Builder().setOptArgSeparator("=");
+        builder = OptionFormatter.builder().setOptArgSeparator("=");
         assertEquals("[-o=<arg>]", builder.build(option).toSyntaxOption());
     }
 
     @Test
     public void testSetOptSeparator() {
         final Option option = 
Option.builder().option("o").longOpt("opt").hasArg().build();
-        OptionFormatter.Builder builder = new 
OptionFormatter.Builder().setOptSeparator(" and ");
+        OptionFormatter.Builder builder = 
OptionFormatter.builder().setOptSeparator(" and ");
         assertEquals("-o and --opt", builder.build(option).getBothOpt());
 
-        builder = new OptionFormatter.Builder().setOptSeparator("");
+        builder = OptionFormatter.builder().setOptSeparator("");
         assertEquals("-o--opt", builder.build(option).getBothOpt(), "Empty 
string should return default");
 
-        builder = new OptionFormatter.Builder().setOptSeparator(null);
+        builder = OptionFormatter.builder().setOptSeparator(null);
         assertEquals("-o--opt", builder.build(option).getBothOpt(), "null 
string should return default");
     }
 
@@ -296,10 +299,10 @@ public class OptionFormatterTest {
         final BiFunction<OptionFormatter, Boolean, String> func = (o, b) -> 
"Yep, it worked";
         final Option option = 
Option.builder().option("o").longOpt("opt").hasArg().build();
 
-        OptionFormatter.Builder builder = new 
OptionFormatter.Builder().setSyntaxFormatFunction(func);
+        OptionFormatter.Builder builder = 
OptionFormatter.builder().setSyntaxFormatFunction(func);
         assertEquals("Yep, it worked", builder.build(option).toSyntaxOption());
 
-        builder = new OptionFormatter.Builder().setSyntaxFormatFunction(null);
+        builder = OptionFormatter.builder().setSyntaxFormatFunction(null);
         assertEquals("[-o <arg>]", builder.build(option).toSyntaxOption());
     }
 }
diff --git 
a/src/test/java/org/apache/commons/cli/help/TextHelpAppendableTest.java 
b/src/test/java/org/apache/commons/cli/help/TextHelpAppendableTest.java
index 8d32c6d8..2a94fd52 100644
--- a/src/test/java/org/apache/commons/cli/help/TextHelpAppendableTest.java
+++ b/src/test/java/org/apache/commons/cli/help/TextHelpAppendableTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.cli.help;
 
-import static java.lang.String.format;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
@@ -35,6 +34,9 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
 
+/**
+ * Tests {@link TextHelpAppendable}.
+ */
 public final class TextHelpAppendableTest {
 
     private StringBuilder sb;
@@ -173,7 +175,7 @@ public final class TextHelpAppendableTest {
         final List<String> expected = new ArrayList<>();
         final String[] entries = { "one", "two", "three" };
         for (int i = 0; i < entries.length; i++) {
-            expected.add(format("  %s. %s", i + 1, entries[i]));
+            expected.add(String.format("  %s. %s", i + 1, entries[i]));
         }
         expected.add("");
 
@@ -185,7 +187,7 @@ public final class TextHelpAppendableTest {
         sb.setLength(0);
         expected.clear();
         for (final String entry : entries) {
-            expected.add(format("  * %s", entry));
+            expected.add(String.format("  * %s", entry));
         }
         expected.add("");
         underTest.appendList(false, Arrays.asList(entries));
@@ -311,7 +313,7 @@ public final class TextHelpAppendableTest {
     @ParameterizedTest
     @MethodSource("org.apache.commons.cli.help.UtilTest#charArgs")
     public void testindexOfWrapPosWithWhitespace(final Character c, final 
boolean isWhitespace) {
-        final String text = format("Hello%cWorld", c);
+        final String text = String.format("Hello%cWorld", c);
         assertEquals(isWhitespace ? 5 : 6, 
TextHelpAppendable.indexOfWrap(text, 7, 0));
     }
 
diff --git a/src/test/java/org/apache/commons/cli/help/UtilTest.java 
b/src/test/java/org/apache/commons/cli/help/UtilTest.java
index 5e61967a..e5dab7d9 100644
--- a/src/test/java/org/apache/commons/cli/help/UtilTest.java
+++ b/src/test/java/org/apache/commons/cli/help/UtilTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.commons.cli.help;
 
-import static java.lang.String.format;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
@@ -67,9 +66,9 @@ public class UtilTest {
     @ParameterizedTest
     @MethodSource("charArgs")
     public void testFindNonWhitespacePos(final Character c, final boolean 
isWhitespace) {
-        String text = format("%cWorld", c);
+        String text = String.format("%cWorld", c);
         assertEquals(isWhitespace ? 1 : 0, Util.indexOfNonWhitespace(text, 0));
-        text = format("%c%c%c", c, c, c);
+        text = String.format("%c%c%c", c, c, c);
         assertEquals(isWhitespace ? -1 : 0, Util.indexOfNonWhitespace(text, 
0));
     }
 
@@ -87,11 +86,11 @@ public class UtilTest {
     @MethodSource("charArgs")
     public void testRtrim(final Character c, final boolean isWhitespace) {
         if (isWhitespace) {
-            assertEquals("worx", Util.rtrim(format("worx%s", c)), () -> 
format("Did not process character 0x%x", (int) c));
+            assertEquals("worx", Util.rtrim(String.format("worx%s", c)), () -> 
String.format("Did not process character 0x%x", (int) c));
         } else {
-            assertNotEquals("worx", Util.rtrim(format("worx%s", c)), () -> 
format("Did not process character 0x%x", (int) c));
+            assertNotEquals("worx", Util.rtrim(String.format("worx%s", c)), () 
-> String.format("Did not process character 0x%x", (int) c));
         }
-        final String text = format("%c%c%c", c, c, c);
+        final String text = String.format("%c%c%c", c, c, c);
         assertEquals(isWhitespace ? "" : text, Util.ltrim(text));
     }
 }


Reply via email to