[MWRAPPER-33] Adopt Java 8 constructs (#80)

Java 8 brought some possible code improvements over the previous Java 7.
These have been applied through:

mvn org.openrewrite.maven:rewrite-maven-plugin:4.38.2:run
-DactiveRecipes=org.openrewrite.java.cleanup.CommonStaticAnalysis

Changes have been made to maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/CommandLineParser.java by:
    org.openrewrite.java.cleanup.CommonStaticAnalysis
        org.openrewrite.java.cleanup.EqualsAvoidsNull
        org.openrewrite.java.cleanup.FinalClass
        org.openrewrite.java.cleanup.UseDiamondOperator
Changes have been made to maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/ParsedCommandLineOption.java by:
    org.openrewrite.java.cleanup.CommonStaticAnalysis
        org.openrewrite.java.cleanup.UseDiamondOperator
Changes have been made to maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/CommandLineOption.java by:
    org.openrewrite.java.cleanup.CommonStaticAnalysis
        org.openrewrite.java.cleanup.UseDiamondOperator
Changes have been made to maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/ParsedCommandLine.java by:
    org.openrewrite.java.cleanup.CommonStaticAnalysis
        org.openrewrite.java.cleanup.UseDiamondOperator
Changes have been made to maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/AbstractPropertiesCommandLineConverter.java by:
    org.openrewrite.java.cleanup.CommonStaticAnalysis
        org.openrewrite.java.cleanup.UseDiamondOperator
Changes have been made to maven-wrapper/src/test/java/org/apache/maven/wrapper/SystemPropertiesHandlerTest.java by:
    org.openrewrite.java.cleanup.CommonStaticAnalysis
        org.openrewrite.java.cleanup.UseDiamondOperator
Changes have been made to maven-wrapper-plugin/src/main/java/org/apache/maven/plugins/wrapper/WrapperMojo.java by:
    org.openrewrite.java.cleanup.CommonStaticAnalysis
        org.openrewrite.java.cleanup.UseLambdaForFunctionalInterface
diff --git a/maven-wrapper-plugin/src/main/java/org/apache/maven/plugins/wrapper/WrapperMojo.java b/maven-wrapper-plugin/src/main/java/org/apache/maven/plugins/wrapper/WrapperMojo.java
index 5e97745..ba1a4d5 100644
--- a/maven-wrapper-plugin/src/main/java/org/apache/maven/plugins/wrapper/WrapperMojo.java
+++ b/maven-wrapper-plugin/src/main/java/org/apache/maven/plugins/wrapper/WrapperMojo.java
@@ -47,7 +47,6 @@
 import org.apache.maven.settings.Mirror;
 import org.apache.maven.settings.Settings;
 import org.codehaus.plexus.archiver.UnArchiver;
-import org.codehaus.plexus.components.io.fileselectors.FileInfo;
 import org.codehaus.plexus.components.io.fileselectors.FileSelector;
 
 import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
@@ -221,14 +220,8 @@
         unarchiver.setDestDirectory(targetFolder.toFile());
         unarchiver.setSourceFile(artifact.getFile());
         if (!includeDebugScript) {
-            unarchiver.setFileSelectors(new FileSelector[] {
-                new FileSelector() {
-                    @Override
-                    public boolean isSelected(FileInfo fileInfo) {
-                        return !fileInfo.getName().contains("Debug");
-                    }
-                }
-            });
+            unarchiver.setFileSelectors(
+                    new FileSelector[] {fileInfo -> !fileInfo.getName().contains("Debug")});
         }
         unarchiver.extract();
         getLog().info("Unpacked " + buffer().strong(distributionType) + " type wrapper distribution " + artifact);
diff --git a/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/AbstractPropertiesCommandLineConverter.java b/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/AbstractPropertiesCommandLineConverter.java
index 70b8499..9830c2c 100644
--- a/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/AbstractPropertiesCommandLineConverter.java
+++ b/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/AbstractPropertiesCommandLineConverter.java
@@ -38,7 +38,7 @@
     }
 
     protected Map<String, String> newInstance() {
-        return new HashMap<String, String>();
+        return new HashMap<>();
     }
 
     public Map<String, String> convert(ParsedCommandLine options, Map<String, String> properties)
diff --git a/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/CommandLineOption.java b/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/CommandLineOption.java
index a926142..b2a685a 100644
--- a/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/CommandLineOption.java
+++ b/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/CommandLineOption.java
@@ -26,7 +26,7 @@
  * Command line option.
  */
 public class CommandLineOption {
-    private final Set<String> options = new HashSet<String>();
+    private final Set<String> options = new HashSet<>();
 
     private Class<?> argumentType = Void.TYPE;
 
diff --git a/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/CommandLineParser.java b/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/CommandLineParser.java
index e35a39f..de76a52 100644
--- a/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/CommandLineParser.java
+++ b/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/CommandLineParser.java
@@ -60,7 +60,7 @@
  * </ul>
  */
 public class CommandLineParser {
-    private Map<String, CommandLineOption> optionsByString = new HashMap<String, CommandLineOption>();
+    private Map<String, CommandLineOption> optionsByString = new HashMap<>();
 
     private boolean allowMixedOptions;
 
@@ -100,7 +100,7 @@
         ParserState parseState = new BeforeFirstSubCommand(parsedCommandLine);
         for (String arg : commandLine) {
             if (parseState.maybeStartOption(arg)) {
-                if (arg.equals("--")) {
+                if ("--".equals(arg)) {
                     parseState = new AfterOptions(parsedCommandLine);
                 } else if (arg.matches("--[^=]+")) {
                     OptionParserState parsedOption = parseState.onStartOption(arg, arg.substring(2));
@@ -173,13 +173,13 @@
      */
     public void printUsage(Appendable out) {
         Formatter formatter = new Formatter(out);
-        Set<CommandLineOption> orderedOptions = new TreeSet<CommandLineOption>(new OptionComparator());
+        Set<CommandLineOption> orderedOptions = new TreeSet<>(new OptionComparator());
         orderedOptions.addAll(optionsByString.values());
-        Map<String, String> lines = new LinkedHashMap<String, String>();
+        Map<String, String> lines = new LinkedHashMap<>();
         for (CommandLineOption option : orderedOptions) {
-            Set<String> orderedOptionStrings = new TreeSet<String>(new OptionStringComparator());
+            Set<String> orderedOptionStrings = new TreeSet<>(new OptionStringComparator());
             orderedOptionStrings.addAll(option.getOptions());
-            List<String> prefixedStrings = new ArrayList<String>();
+            List<String> prefixedStrings = new ArrayList<>();
             for (String optionString : orderedOptionStrings) {
                 if (optionString.length() == 1) {
                     prefixedStrings.add("-" + optionString);
@@ -251,7 +251,7 @@
         return option;
     }
 
-    private static class OptionString {
+    private static final class OptionString {
         private final String arg;
 
         private final String option;
@@ -304,7 +304,7 @@
         }
     }
 
-    private class BeforeFirstSubCommand extends OptionAwareParserState {
+    private final class BeforeFirstSubCommand extends OptionAwareParserState {
         private BeforeFirstSubCommand(ParsedCommandLine commandLine) {
             super(commandLine);
         }
@@ -325,7 +325,7 @@
         }
     }
 
-    private class AfterFirstSubCommand extends OptionAwareParserState {
+    private final class AfterFirstSubCommand extends OptionAwareParserState {
         private AfterFirstSubCommand(ParsedCommandLine commandLine) {
             super(commandLine);
         }
@@ -340,7 +340,7 @@
         }
     }
 
-    private static class AfterOptions extends ParserState {
+    private static final class AfterOptions extends ParserState {
         private final ParsedCommandLine commandLine;
 
         private AfterOptions(ParsedCommandLine commandLine) {
@@ -364,7 +364,7 @@
         }
     }
 
-    private static class MissingOptionArgState extends ParserState {
+    private static final class MissingOptionArgState extends ParserState {
         private final OptionParserState option;
 
         private MissingOptionArgState(OptionParserState option) {
@@ -402,7 +402,7 @@
         public abstract ParserState onComplete();
     }
 
-    private class KnownOptionParserState extends OptionParserState {
+    private final class KnownOptionParserState extends OptionParserState {
         private final OptionString optionString;
 
         private final CommandLineOption option;
@@ -411,7 +411,7 @@
 
         private final ParserState state;
 
-        private final List<String> values = new ArrayList<String>();
+        private final List<String> values = new ArrayList<>();
 
         private KnownOptionParserState(
                 OptionString optionString, CommandLineOption option, ParsedCommandLine commandLine, ParserState state) {
@@ -475,7 +475,7 @@
         }
     }
 
-    private static class UnknownOptionParserState extends OptionParserState {
+    private static final class UnknownOptionParserState extends OptionParserState {
         private final ParserState state;
 
         private final String arg;
diff --git a/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/ParsedCommandLine.java b/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/ParsedCommandLine.java
index 396c193..e88691c 100644
--- a/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/ParsedCommandLine.java
+++ b/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/ParsedCommandLine.java
@@ -30,11 +30,11 @@
  * Parsed command line.
  */
 public class ParsedCommandLine {
-    private final Map<String, ParsedCommandLineOption> optionsByString = new HashMap<String, ParsedCommandLineOption>();
+    private final Map<String, ParsedCommandLineOption> optionsByString = new HashMap<>();
 
-    private final Set<String> presentOptions = new HashSet<String>();
+    private final Set<String> presentOptions = new HashSet<>();
 
-    private final List<String> extraArguments = new ArrayList<String>();
+    private final List<String> extraArguments = new ArrayList<>();
 
     ParsedCommandLine(Iterable<CommandLineOption> options) {
         for (CommandLineOption option : options) {
diff --git a/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/ParsedCommandLineOption.java b/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/ParsedCommandLineOption.java
index 2a6071f..7af25f2 100644
--- a/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/ParsedCommandLineOption.java
+++ b/maven-wrapper/src/main/java/org/apache/maven/wrapper/cli/ParsedCommandLineOption.java
@@ -25,7 +25,7 @@
  * Parsed command line option.
  */
 public class ParsedCommandLineOption {
-    private final List<String> values = new ArrayList<String>();
+    private final List<String> values = new ArrayList<>();
 
     public String getValue() {
         if (!hasValue()) {
diff --git a/maven-wrapper/src/test/java/org/apache/maven/wrapper/SystemPropertiesHandlerTest.java b/maven-wrapper/src/test/java/org/apache/maven/wrapper/SystemPropertiesHandlerTest.java
index 5ed32a0..1bd8c9a 100644
--- a/maven-wrapper/src/test/java/org/apache/maven/wrapper/SystemPropertiesHandlerTest.java
+++ b/maven-wrapper/src/test/java/org/apache/maven/wrapper/SystemPropertiesHandlerTest.java
@@ -54,7 +54,7 @@
             props.store(fos, "");
         }
 
-        Map<String, String> expected = new HashMap<String, String>();
+        Map<String, String> expected = new HashMap<>();
         expected.put("c", "d");
 
         assertThat(SystemPropertiesHandler.getSystemProperties(propFile), equalTo(expected));
@@ -62,7 +62,7 @@
 
     @Test
     public void ifNoPropertyFileExistShouldReturnEmptyMap() {
-        Map<String, String> expected = new HashMap<String, String>();
+        Map<String, String> expected = new HashMap<>();
         assertThat(SystemPropertiesHandler.getSystemProperties(tmpDir.resolve("unknown")), equalTo(expected));
     }
 }