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 107acd4d093a4f8a5fe9407070207043b4d7ae60 Author: Gary Gregory <[email protected]> AuthorDate: Sat Nov 8 14:39:10 2025 -0500 Use forEach() --- src/main/java/org/apache/commons/cli/CommandLine.java | 12 ++++++------ src/main/java/org/apache/commons/cli/HelpFormatter.java | 1 - src/main/java/org/apache/commons/cli/Options.java | 12 ++++++------ src/main/java/org/apache/commons/cli/Parser.java | 4 +--- src/main/java/org/apache/commons/cli/help/HelpFormatter.java | 4 ++-- .../java/org/apache/commons/cli/help/TextHelpAppendable.java | 10 +++------- 6 files changed, 18 insertions(+), 25 deletions(-) diff --git a/src/main/java/org/apache/commons/cli/CommandLine.java b/src/main/java/org/apache/commons/cli/CommandLine.java index c5c03dbd..2d944c71 100644 --- a/src/main/java/org/apache/commons/cli/CommandLine.java +++ b/src/main/java/org/apache/commons/cli/CommandLine.java @@ -306,11 +306,11 @@ public class CommandLine implements Serializable { */ public Properties getOptionProperties(final Option option) { final Properties props = new Properties(); - for (final Option processedOption : options) { + options.forEach(processedOption -> { if (processedOption.equals(option)) { processPropertiesFromValues(props, processedOption.getValuesList()); } - } + }); return props; } @@ -326,11 +326,11 @@ public class CommandLine implements Serializable { */ public Properties getOptionProperties(final String optionName) { final Properties props = new Properties(); - for (final Option option : options) { + options.forEach(option -> { if (optionName.equals(option.getOpt()) || optionName.equals(option.getLongOpt())) { processPropertiesFromValues(props, option.getValuesList()); } - } + }); return props; } @@ -503,14 +503,14 @@ public class CommandLine implements Serializable { return null; } final List<String> values = new ArrayList<>(); - for (final Option processedOption : options) { + options.forEach(processedOption -> { if (processedOption.equals(option)) { if (option.isDeprecated()) { handleDeprecated(option); } values.addAll(processedOption.getValuesList()); } - } + }); return values.isEmpty() ? null : values.toArray(Util.EMPTY_STRING_ARRAY); } diff --git a/src/main/java/org/apache/commons/cli/HelpFormatter.java b/src/main/java/org/apache/commons/cli/HelpFormatter.java index 7046a023..f3456dc9 100644 --- a/src/main/java/org/apache/commons/cli/HelpFormatter.java +++ b/src/main/java/org/apache/commons/cli/HelpFormatter.java @@ -393,7 +393,6 @@ public class HelpFormatter { for (final Iterator<Option> it = optList.iterator(); it.hasNext();) { // whether the option is required or not is handled at group level appendOption(buff, it.next(), true); - if (it.hasNext()) { buff.append(" | "); } diff --git a/src/main/java/org/apache/commons/cli/Options.java b/src/main/java/org/apache/commons/cli/Options.java index eb03aaed..7f0cda15 100644 --- a/src/main/java/org/apache/commons/cli/Options.java +++ b/src/main/java/org/apache/commons/cli/Options.java @@ -150,7 +150,7 @@ public class Options implements Serializable { if (optionGroup.isRequired()) { requiredOpts.add(optionGroup); } - for (final Option option : optionGroup.getOptions()) { + optionGroup.getOptions().forEach(option -> { // an Option cannot be required if it is in an // OptionGroup, either the group is required or // nothing is required @@ -159,7 +159,7 @@ public class Options implements Serializable { requiredOpts.remove(key); addOption(option); optionGroups.put(key, optionGroup); - } + }); return this; } @@ -172,12 +172,12 @@ public class Options implements Serializable { * @since 1.7.0 */ public Options addOptions(final Options options) { - for (final Option opt : options.getOptions()) { + options.getOptions().forEach(opt -> { if (hasOption(opt.getKey())) { throw new IllegalArgumentException("Duplicate key: " + opt.getKey()); } addOption(opt); - } + }); options.getOptionGroups().forEach(this::addOptionGroup); return this; } @@ -223,11 +223,11 @@ public class Options implements Serializable { if (longOpts.containsKey(clean)) { return Collections.singletonList(clean); } - for (final String longOpt : longOpts.keySet()) { + longOpts.keySet().forEach(longOpt -> { if (longOpt.startsWith(clean)) { matchingOpts.add(longOpt); } - } + }); return matchingOpts; } diff --git a/src/main/java/org/apache/commons/cli/Parser.java b/src/main/java/org/apache/commons/cli/Parser.java index 939ce7cb..3abb087e 100644 --- a/src/main/java/org/apache/commons/cli/Parser.java +++ b/src/main/java/org/apache/commons/cli/Parser.java @@ -148,9 +148,7 @@ public abstract class Parser implements CommandLineParser { public CommandLine parse(final Options options, final String[] arguments, final Properties properties, final boolean stopAtNonOption) throws ParseException { // clear out the data in options in case it's been used before (CLI-71) - for (final Option opt : options.helpOptions()) { - opt.clearValues(); - } + options.helpOptions().forEach(Option::clearValues); // clear the data from the groups for (final OptionGroup optionGroup : options.getOptionGroups()) { optionGroup.setSelected(null); 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 887011d2..c4081ec4 100644 --- a/src/main/java/org/apache/commons/cli/help/HelpFormatter.java +++ b/src/main/java/org/apache/commons/cli/help/HelpFormatter.java @@ -163,7 +163,7 @@ public class HelpFormatter extends AbstractHelpFormatter { // setup the rows for the table. final List<List<String>> rows = new ArrayList<>(); final StringBuilder sb = new StringBuilder(); - for (final Option option : options) { + options.forEach(option -> { final List<String> row = new ArrayList<>(); // create an option formatter to correctly format the parts of the option final OptionFormatter formatter = getOptionFormatBuilder().build(option); @@ -182,7 +182,7 @@ public class HelpFormatter extends AbstractHelpFormatter { // add the option description row.add(formatter.getDescription()); rows.add(row); - } + }); // return the TableDefinition with the proper column headers. return TableDefinition.from("", styles, showSince ? Arrays.asList("Options", "Since", "Description") : Arrays.asList("Options", "Description"), rows); } 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 5377ed8d..23204143 100644 --- a/src/main/java/org/apache/commons/cli/help/TextHelpAppendable.java +++ b/src/main/java/org/apache/commons/cli/help/TextHelpAppendable.java @@ -191,10 +191,8 @@ public class TextHelpAppendable extends FilterHelpAppendable { } // regenerate the styles final List<TextStyle> styles = new ArrayList<>(); - for (final TextStyle.Builder builder : styleBuilders) { - // adjust by removing the padding as it was not accounted for above. - styles.add(builder.get()); - } + // adjust by removing the padding as it was not accounted for above. + styleBuilders.forEach(builder -> styles.add(builder.get())); return TableDefinition.from(table.caption(), styles, table.headers(), table.rows()); } @@ -244,9 +242,7 @@ public class TextHelpAppendable extends FilterHelpAppendable { // write the table appendParagraph(table.caption()); final List<TextStyle> headerStyles = new ArrayList<>(); - for (final TextStyle style : table.columnTextStyles()) { - headerStyles.add(TextStyle.builder().setTextStyle(style).setAlignment(TextStyle.Alignment.CENTER).get()); - } + table.columnTextStyles().forEach(style -> headerStyles.add(TextStyle.builder().setTextStyle(style).setAlignment(TextStyle.Alignment.CENTER).get())); writeColumnQueues(makeColumnQueues(table.headers(), headerStyles), headerStyles); for (final List<String> row : table.rows()) { writeColumnQueues(makeColumnQueues(row, table.columnTextStyles()), table.columnTextStyles());
