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

commit 80f2d7b5e875a41c05ed42656fcd25830ada1b1b
Author: Gary D. Gregory <garydgreg...@gmail.com>
AuthorDate: Tue Jun 10 18:59:32 2025 -0400

    Sort members
---
 .../java/org/apache/commons/cli/DefaultParser.java | 124 ++++++++++-----------
 .../java/org/apache/commons/cli/HelpFormatter.java |  14 +--
 .../java/org/apache/commons/cli/OptionGroup.java   |  14 +--
 src/main/java/org/apache/commons/cli/Options.java  |  14 +--
 .../apache/commons/cli/PatternOptionBuilder.java   |  26 ++---
 .../org/apache/commons/cli/DefaultParserTest.java  |  46 ++++----
 6 files changed, 119 insertions(+), 119 deletions(-)

diff --git a/src/main/java/org/apache/commons/cli/DefaultParser.java 
b/src/main/java/org/apache/commons/cli/DefaultParser.java
index bfd7c5f1..c219113f 100644
--- a/src/main/java/org/apache/commons/cli/DefaultParser.java
+++ b/src/main/java/org/apache/commons/cli/DefaultParser.java
@@ -153,21 +153,6 @@ public class DefaultParser implements CommandLineParser {
         }
     }
 
-    /**
-     * Creates a new {@link Builder} to create an {@link DefaultParser} using 
descriptive
-     * methods.
-     *
-     * @return a new {@link Builder} instance
-     * @since 1.5.0
-     */
-    public static Builder builder() {
-        return new Builder();
-    }
-
-    static int indexOfEqual(final String token) {
-        return token.indexOf(Char.EQUAL);
-    }
-
     /**
      * Enum representing possible actions that may be done when "non option" 
is discovered during parsing.
      *
@@ -194,6 +179,21 @@ public class DefaultParser implements CommandLineParser {
         THROW;
     }
 
+    /**
+     * Creates a new {@link Builder} to create an {@link DefaultParser} using 
descriptive
+     * methods.
+     *
+     * @return a new {@link Builder} instance
+     * @since 1.5.0
+     */
+    public static Builder builder() {
+        return new Builder();
+    }
+
+    static int indexOfEqual(final String token) {
+        return token.indexOf(Char.EQUAL);
+    }
+
     /** The command-line instance. */
     protected CommandLine cmd;
 
@@ -308,6 +308,16 @@ public class DefaultParser implements CommandLineParser {
         this.deprecatedHandler = deprecatedHandler;
     }
 
+    /**
+     * Adds token to command line {@link CommandLine#addArg(String)}.
+     *
+     * @param token the unrecognized option/argument.
+     * @since 1.10.0
+     */
+    protected void addArg(final String token) {
+        cmd.addArg(token);
+    }
+
     /**
      * Throws a {@link MissingArgumentException} if the current option didn't 
receive the number of arguments expected.
      */
@@ -633,16 +643,6 @@ public class DefaultParser implements CommandLineParser {
         }
     }
 
-    /**
-     * Adds token to command line {@link CommandLine#addArg(String)}.
-     *
-     * @param token the unrecognized option/argument.
-     * @since 1.10.0
-     */
-    protected void addArg(final String token) {
-        cmd.addArg(token);
-    }
-
     /**
      * Tests if the token is a valid argument.
      *
@@ -726,6 +726,43 @@ public class DefaultParser implements CommandLineParser {
         return !optName.isEmpty() && 
options.hasShortOption(String.valueOf(optName.charAt(0)));
     }
 
+    /**
+     * Parses the arguments according to the specified options and properties.
+     *
+     * @param options the specified Options
+     * @param properties command line option name-value pairs
+     * @param nonOptionAction see {@link NonOptionAction}.
+     * @param arguments the command line arguments
+     *
+     * @return the list of atomic option and value tokens
+     * @throws ParseException if there are any problems encountered while 
parsing the command line tokens.
+     * @since 1.10.0
+     */
+    public CommandLine parse(final Options options, final Properties 
properties, final NonOptionAction nonOptionAction, final String... arguments)
+            throws ParseException {
+        this.options = options;
+        this.nonOptionAction = nonOptionAction;
+        skipParsing = false;
+        currentOption = null;
+        expectedOpts = new ArrayList<>(options.getRequiredOptions());
+        // clear the data from the groups
+        for (final OptionGroup group : options.getOptionGroups()) {
+            group.setSelected(null);
+        }
+        cmd = 
CommandLine.builder().setDeprecatedHandler(deprecatedHandler).get();
+        if (arguments != null) {
+            for (final String argument : arguments) {
+                handleToken(argument);
+            }
+        }
+        // check the arguments of the last option
+        checkRequiredArgs();
+        // add the default options
+        handleProperties(properties);
+        checkRequiredOptions();
+        return cmd;
+    }
+
     @Override
     public CommandLine parse(final Options options, final String[] arguments) 
throws ParseException {
         return parse(options, arguments, null);
@@ -771,43 +808,6 @@ public class DefaultParser implements CommandLineParser {
         return parse(options, properties, stopAtNonOption ? 
NonOptionAction.STOP : NonOptionAction.THROW, arguments);
     }
 
-    /**
-     * Parses the arguments according to the specified options and properties.
-     *
-     * @param options the specified Options
-     * @param properties command line option name-value pairs
-     * @param nonOptionAction see {@link NonOptionAction}.
-     * @param arguments the command line arguments
-     *
-     * @return the list of atomic option and value tokens
-     * @throws ParseException if there are any problems encountered while 
parsing the command line tokens.
-     * @since 1.10.0
-     */
-    public CommandLine parse(final Options options, final Properties 
properties, final NonOptionAction nonOptionAction, final String... arguments)
-            throws ParseException {
-        this.options = options;
-        this.nonOptionAction = nonOptionAction;
-        skipParsing = false;
-        currentOption = null;
-        expectedOpts = new ArrayList<>(options.getRequiredOptions());
-        // clear the data from the groups
-        for (final OptionGroup group : options.getOptionGroups()) {
-            group.setSelected(null);
-        }
-        cmd = 
CommandLine.builder().setDeprecatedHandler(deprecatedHandler).get();
-        if (arguments != null) {
-            for (final String argument : arguments) {
-                handleToken(argument);
-            }
-        }
-        // check the arguments of the last option
-        checkRequiredArgs();
-        // add the default options
-        handleProperties(properties);
-        checkRequiredOptions();
-        return cmd;
-    }
-
     /**
      * Strips balanced leading and trailing quotes if the 
stripLeadingAndTrailingQuotes is set
      * If stripLeadingAndTrailingQuotes is null, then do not strip
diff --git a/src/main/java/org/apache/commons/cli/HelpFormatter.java 
b/src/main/java/org/apache/commons/cli/HelpFormatter.java
index 9e598eb2..04f71090 100644
--- a/src/main/java/org/apache/commons/cli/HelpFormatter.java
+++ b/src/main/java/org/apache/commons/cli/HelpFormatter.java
@@ -78,13 +78,6 @@ public class HelpFormatter {
         // TODO All other instance HelpFormatter instance variables.
         // Make HelpFormatter immutable for 2.0
 
-        /**
-         * Constructs a new instance.
-         */
-        public Builder() {
-            // empty
-        }
-
         /**
          * A function to convert a description (not null) and a deprecated 
Option (not null) to help description
          */
@@ -103,6 +96,13 @@ public class HelpFormatter {
         /** The flag to determine if the since values should be dispalyed */
         private boolean showSince;
 
+        /**
+         * Constructs a new instance.
+         */
+        public Builder() {
+            // empty
+        }
+
         @Override
         public HelpFormatter get() {
             return new HelpFormatter(deprecatedFormatFunction, printStream, 
showSince);
diff --git a/src/main/java/org/apache/commons/cli/OptionGroup.java 
b/src/main/java/org/apache/commons/cli/OptionGroup.java
index 1644df80..945ca9f2 100644
--- a/src/main/java/org/apache/commons/cli/OptionGroup.java
+++ b/src/main/java/org/apache/commons/cli/OptionGroup.java
@@ -28,13 +28,6 @@ import java.util.Map;
  */
 public class OptionGroup implements Serializable {
 
-    /**
-     * Constructs a new instance.
-     */
-    public OptionGroup() {
-        // empty
-    }
-
     /** The serial version UID. */
     private static final long serialVersionUID = 1L;
 
@@ -47,6 +40,13 @@ public class OptionGroup implements Serializable {
     /** Specified whether this group is required */
     private boolean required;
 
+    /**
+     * Constructs a new instance.
+     */
+    public OptionGroup() {
+        // empty
+    }
+
     /**
      * Adds the given {@code Option} to this group.
      *
diff --git a/src/main/java/org/apache/commons/cli/Options.java 
b/src/main/java/org/apache/commons/cli/Options.java
index 9c689834..5dfb1e2f 100644
--- a/src/main/java/org/apache/commons/cli/Options.java
+++ b/src/main/java/org/apache/commons/cli/Options.java
@@ -40,13 +40,6 @@ import java.util.Map;
  */
 public class Options implements Serializable {
 
-    /**
-     * Constructs new instance.
-     */
-    public Options() {
-        // empty
-    }
-
     /** The serial version UID. */
     private static final long serialVersionUID = 1L;
 
@@ -64,6 +57,13 @@ public class Options implements Serializable {
     /** A map of the option groups */
     private final Map<String, OptionGroup> optionGroups = new 
LinkedHashMap<>();
 
+    /**
+     * Constructs new instance.
+     */
+    public Options() {
+        // empty
+    }
+
     /**
      * Adds an option instance
      *
diff --git a/src/main/java/org/apache/commons/cli/PatternOptionBuilder.java 
b/src/main/java/org/apache/commons/cli/PatternOptionBuilder.java
index 78acae30..dc11c697 100644
--- a/src/main/java/org/apache/commons/cli/PatternOptionBuilder.java
+++ b/src/main/java/org/apache/commons/cli/PatternOptionBuilder.java
@@ -74,16 +74,6 @@ import java.util.Map;
  */
 public class PatternOptionBuilder {
 
-    /**
-     * Deprecated, only provides static methods.
-     *
-     * @deprecated Will be private or class will be final.
-     */
-    @Deprecated
-    public PatternOptionBuilder() {
-        // empty
-    }
-
     /** String class */
     public static final Class<String> STRING_VALUE = String.class;
 
@@ -99,13 +89,13 @@ public class PatternOptionBuilder {
     /** Class class */
     public static final Class<?> CLASS_VALUE = Class.class;
 
+    /** FileInputStream class */
+    public static final Class<FileInputStream> EXISTING_FILE_VALUE = 
FileInputStream.class;
+
     /// can we do this one??
     // is meant to check that the file exists, else it errors.
     // ie) it's for reading not writing.
 
-    /** FileInputStream class */
-    public static final Class<FileInputStream> EXISTING_FILE_VALUE = 
FileInputStream.class;
-
     /** File class */
     public static final Class<File> FILE_VALUE = File.class;
 
@@ -236,4 +226,14 @@ public class PatternOptionBuilder {
     static <T> T unsupported() {
         return (T) UNSUPPORTED;
     }
+
+    /**
+     * Deprecated, only provides static methods.
+     *
+     * @deprecated Will be private or class will be final.
+     */
+    @Deprecated
+    public PatternOptionBuilder() {
+        // empty
+    }
 }
diff --git a/src/test/java/org/apache/commons/cli/DefaultParserTest.java 
b/src/test/java/org/apache/commons/cli/DefaultParserTest.java
index 35f96d5b..24894413 100644
--- a/src/test/java/org/apache/commons/cli/DefaultParserTest.java
+++ b/src/test/java/org/apache/commons/cli/DefaultParserTest.java
@@ -151,15 +151,8 @@ class DefaultParserTest extends AbstractParserTestCase {
         }
     }
 
-    @Override
-    @BeforeEach
-    public void setUp() {
-        super.setUp();
-        parser = new DefaultParser();
-    }
-
     @Test
-    void chainingParsersSkipHappyPath() throws ParseException {
+    void chainingParsersIgnoreHappyPath() throws ParseException {
         Option a = 
Option.builder().option("a").longOpt("first-letter").build();
         Option b = 
Option.builder().option("b").longOpt("second-letter").build();
         Option c = 
Option.builder().option("c").longOpt("third-letter").build();
@@ -178,17 +171,17 @@ class DefaultParserTest extends AbstractParserTestCase {
 
         DefaultParser parser = new DefaultParser();
 
-        CommandLine baseCommandLine = parser.parse(baseOptions, null, 
DefaultParser.NonOptionAction.SKIP, args);
+        CommandLine baseCommandLine = parser.parse(baseOptions, null, 
DefaultParser.NonOptionAction.IGNORE, args);
         assertEquals(2, baseCommandLine.getOptions().length);
-        assertEquals(4, baseCommandLine.getArgs().length);
+        assertEquals(2, baseCommandLine.getArgs().length);
         assertTrue(baseCommandLine.hasOption("a"));
         assertTrue(baseCommandLine.hasOption("b"));
         assertFalse(baseCommandLine.hasOption("c"));
         assertFalse(baseCommandLine.hasOption("d"));
         assertFalse(baseCommandLine.getArgList().contains("-a"));
         assertFalse(baseCommandLine.getArgList().contains("-b"));
-        assertTrue(baseCommandLine.getArgList().contains("-c"));
-        assertTrue(baseCommandLine.getArgList().contains("-d"));
+        assertFalse(baseCommandLine.getArgList().contains("-c"));
+        assertFalse(baseCommandLine.getArgList().contains("-d"));
         assertTrue(baseCommandLine.getArgList().contains("arg1"));
         assertTrue(baseCommandLine.getArgList().contains("arg2"));
 
@@ -208,7 +201,7 @@ class DefaultParserTest extends AbstractParserTestCase {
     }
 
     @Test
-    void chainingParsersSkipNonHappyPath() throws ParseException {
+    void chainingParsersIgnoreNonHappyPath() throws ParseException {
         Option a = 
Option.builder().option("a").longOpt("first-letter").build();
         Option b = 
Option.builder().option("b").longOpt("second-letter").build();
         Option c = 
Option.builder().option("c").longOpt("third-letter").build();
@@ -225,9 +218,9 @@ class DefaultParserTest extends AbstractParserTestCase {
 
         DefaultParser parser = new DefaultParser();
 
-        CommandLine baseCommandLine = parser.parse(baseOptions, null, 
DefaultParser.NonOptionAction.SKIP, args);
+        CommandLine baseCommandLine = parser.parse(baseOptions, null, 
DefaultParser.NonOptionAction.IGNORE, args);
         assertEquals(2, baseCommandLine.getOptions().length);
-        assertEquals(4, baseCommandLine.getArgs().length);
+        assertEquals(2, baseCommandLine.getArgs().length);
 
         UnrecognizedOptionException e = 
assertThrows(UnrecognizedOptionException.class,
                 () -> parser.parse(specificOptions, null, 
DefaultParser.NonOptionAction.THROW, args));
@@ -235,7 +228,7 @@ class DefaultParserTest extends AbstractParserTestCase {
     }
 
     @Test
-    void chainingParsersIgnoreHappyPath() throws ParseException {
+    void chainingParsersSkipHappyPath() throws ParseException {
         Option a = 
Option.builder().option("a").longOpt("first-letter").build();
         Option b = 
Option.builder().option("b").longOpt("second-letter").build();
         Option c = 
Option.builder().option("c").longOpt("third-letter").build();
@@ -254,17 +247,17 @@ class DefaultParserTest extends AbstractParserTestCase {
 
         DefaultParser parser = new DefaultParser();
 
-        CommandLine baseCommandLine = parser.parse(baseOptions, null, 
DefaultParser.NonOptionAction.IGNORE, args);
+        CommandLine baseCommandLine = parser.parse(baseOptions, null, 
DefaultParser.NonOptionAction.SKIP, args);
         assertEquals(2, baseCommandLine.getOptions().length);
-        assertEquals(2, baseCommandLine.getArgs().length);
+        assertEquals(4, baseCommandLine.getArgs().length);
         assertTrue(baseCommandLine.hasOption("a"));
         assertTrue(baseCommandLine.hasOption("b"));
         assertFalse(baseCommandLine.hasOption("c"));
         assertFalse(baseCommandLine.hasOption("d"));
         assertFalse(baseCommandLine.getArgList().contains("-a"));
         assertFalse(baseCommandLine.getArgList().contains("-b"));
-        assertFalse(baseCommandLine.getArgList().contains("-c"));
-        assertFalse(baseCommandLine.getArgList().contains("-d"));
+        assertTrue(baseCommandLine.getArgList().contains("-c"));
+        assertTrue(baseCommandLine.getArgList().contains("-d"));
         assertTrue(baseCommandLine.getArgList().contains("arg1"));
         assertTrue(baseCommandLine.getArgList().contains("arg2"));
 
@@ -284,7 +277,7 @@ class DefaultParserTest extends AbstractParserTestCase {
     }
 
     @Test
-    void chainingParsersIgnoreNonHappyPath() throws ParseException {
+    void chainingParsersSkipNonHappyPath() throws ParseException {
         Option a = 
Option.builder().option("a").longOpt("first-letter").build();
         Option b = 
Option.builder().option("b").longOpt("second-letter").build();
         Option c = 
Option.builder().option("c").longOpt("third-letter").build();
@@ -301,9 +294,9 @@ class DefaultParserTest extends AbstractParserTestCase {
 
         DefaultParser parser = new DefaultParser();
 
-        CommandLine baseCommandLine = parser.parse(baseOptions, null, 
DefaultParser.NonOptionAction.IGNORE, args);
+        CommandLine baseCommandLine = parser.parse(baseOptions, null, 
DefaultParser.NonOptionAction.SKIP, args);
         assertEquals(2, baseCommandLine.getOptions().length);
-        assertEquals(2, baseCommandLine.getArgs().length);
+        assertEquals(4, baseCommandLine.getArgs().length);
 
         UnrecognizedOptionException e = 
assertThrows(UnrecognizedOptionException.class,
                 () -> parser.parse(specificOptions, null, 
DefaultParser.NonOptionAction.THROW, args));
@@ -336,6 +329,13 @@ class DefaultParserTest extends AbstractParserTestCase {
         assertTrue(e.getMessage().contains("-d"));
     }
 
+    @Override
+    @BeforeEach
+    public void setUp() {
+        super.setUp();
+        parser = new DefaultParser();
+    }
+
     @Test
     void testBuilder() {
         // @formatter:off

Reply via email to