You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gn...@apache.org on 2025/01/13 16:14:43 UTC
(maven) 02/02: [MNG-8515] Use specialized methods
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git
commit f5a407cf79494d90ad1df4aa6336239c542d98e1
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Mon Jan 13 10:38:10 2025 +0100
[MNG-8515] Use specialized methods
* UnaryOperator<String> instead of Function<String, String>
* BinaryOperator<String> instead of BiFunction<String, String, String>
---
.../java/org/apache/maven/api/cli/Options.java | 4 +--
.../org/apache/maven/api/cli/mvn/MavenOptions.java | 4 +--
.../maven/api/cli/mvnenc/EncryptOptions.java | 4 +--
.../apache/maven/api/cli/mvnsh/ShellOptions.java | 4 +--
.../apache/maven/api/services/Interpolator.java | 29 ++++++++--------
.../maven/api/services/SettingsBuilderRequest.java | 14 ++++----
.../maven/cli/ExtensionConfigurationModule.java | 12 +++----
.../main/java/org/apache/maven/cli/MavenCli.java | 14 ++++----
.../internal/BootstrapCoreExtensionManager.java | 12 +++----
.../apache/maven/cli/props/MavenProperties.java | 8 ++---
.../maven/cli/props/MavenPropertiesLoader.java | 14 ++++----
.../extensions/BootstrapCoreExtensionManager.java | 12 +++----
.../extensions/ExtensionConfigurationModule.java | 12 +++----
.../org/apache/maven/cling/invoker/BaseParser.java | 4 +--
.../apache/maven/cling/invoker/LookupInvoker.java | 4 +--
.../invoker/PlexusContainerCapsuleFactory.java | 4 +--
.../java/org/apache/maven/cling/invoker/Utils.java | 8 ++---
.../cling/invoker/mvn/CommonsCliMavenOptions.java | 7 ++--
.../cling/invoker/mvn/LayeredMavenOptions.java | 4 +--
.../invoker/mvnenc/CommonsCliEncryptOptions.java | 6 ++--
.../invoker/mvnsh/CommonsCliShellOptions.java | 7 ++--
.../apache/maven/cling/props/MavenProperties.java | 8 ++---
.../maven/cling/props/MavenPropertiesLoader.java | 14 ++++----
.../impl/DefaultPluginConfigurationExpander.java | 4 +--
.../internal/impl/DefaultSettingsBuilder.java | 8 ++---
.../internal/impl/DefaultToolchainsBuilder.java | 4 +--
.../internal/impl/model/DefaultInterpolator.java | 39 ++++++++++------------
.../internal/impl/model/DefaultModelBuilder.java | 3 +-
.../impl/model/DefaultModelInterpolator.java | 7 ++--
.../impl/model/DefaultModelNormalizer.java | 4 +--
.../impl/model/DefaultModelPathTranslator.java | 4 +--
.../impl/model/profile/ConditionParser.java | 6 ++--
.../model/profile/ConditionProfileActivator.java | 4 +--
.../impl/model/DefaultInterpolatorTest.java | 6 ++--
.../impl/model/profile/ConditionParserTest.java | 4 +--
src/mdo/transformer.vm | 10 +++---
36 files changed, 154 insertions(+), 158 deletions(-)
diff --git a/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/Options.java b/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/Options.java
index 6adc57bac4..d2bf596cd9 100644
--- a/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/Options.java
+++ b/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/Options.java
@@ -21,7 +21,7 @@ package org.apache.maven.api.cli;
import java.util.Map;
import java.util.Optional;
import java.util.function.Consumer;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.annotations.Experimental;
import org.apache.maven.api.annotations.Nonnull;
@@ -205,7 +205,7 @@ public interface Options {
* @return a new {@link Options} instance with interpolated values
*/
@Nonnull
- Options interpolate(@Nonnull Function<String, String> callback);
+ Options interpolate(@Nonnull UnaryOperator<String> callback);
/**
* Emits warning messages if deprecated options are used.
diff --git a/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/mvn/MavenOptions.java b/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/mvn/MavenOptions.java
index 75a932ba8a..21f241750e 100644
--- a/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/mvn/MavenOptions.java
+++ b/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/mvn/MavenOptions.java
@@ -20,7 +20,7 @@ package org.apache.maven.api.cli.mvn;
import java.util.List;
import java.util.Optional;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.annotations.Experimental;
import org.apache.maven.api.annotations.Nonnull;
@@ -222,5 +222,5 @@ public interface MavenOptions extends Options {
* @return a new MavenOptions instance with interpolated values
*/
@Nonnull
- MavenOptions interpolate(@Nonnull Function<String, String> callback);
+ MavenOptions interpolate(@Nonnull UnaryOperator<String> callback);
}
diff --git a/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/mvnenc/EncryptOptions.java b/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/mvnenc/EncryptOptions.java
index 5e9456397b..9a7da37502 100644
--- a/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/mvnenc/EncryptOptions.java
+++ b/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/mvnenc/EncryptOptions.java
@@ -20,7 +20,7 @@ package org.apache.maven.api.cli.mvnenc;
import java.util.List;
import java.util.Optional;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.annotations.Experimental;
import org.apache.maven.api.annotations.Nonnull;
@@ -64,5 +64,5 @@ public interface EncryptOptions extends Options {
* @return a new EncryptOptions instance with interpolated values
*/
@Nonnull
- EncryptOptions interpolate(Function<String, String> callback);
+ EncryptOptions interpolate(UnaryOperator<String> callback);
}
diff --git a/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/mvnsh/ShellOptions.java b/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/mvnsh/ShellOptions.java
index 4777229b88..4e1a63c6d7 100644
--- a/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/mvnsh/ShellOptions.java
+++ b/api/maven-api-cli/src/main/java/org/apache/maven/api/cli/mvnsh/ShellOptions.java
@@ -18,7 +18,7 @@
*/
package org.apache.maven.api.cli.mvnsh;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.annotations.Experimental;
import org.apache.maven.api.annotations.Nonnull;
@@ -39,5 +39,5 @@ public interface ShellOptions extends Options {
* @return a new EncryptOptions instance with interpolated values
*/
@Nonnull
- ShellOptions interpolate(Function<String, String> callback);
+ ShellOptions interpolate(UnaryOperator<String> callback);
}
diff --git a/api/maven-api-core/src/main/java/org/apache/maven/api/services/Interpolator.java b/api/maven-api-core/src/main/java/org/apache/maven/api/services/Interpolator.java
index 18b6924b2f..790e938976 100644
--- a/api/maven-api-core/src/main/java/org/apache/maven/api/services/Interpolator.java
+++ b/api/maven-api-core/src/main/java/org/apache/maven/api/services/Interpolator.java
@@ -23,8 +23,9 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
-import java.util.function.BiFunction;
+import java.util.function.BinaryOperator;
import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.Service;
import org.apache.maven.api.annotations.Experimental;
@@ -47,7 +48,7 @@ public interface Interpolator extends Service {
* @param properties The map containing key-value pairs to be interpolated.
* @param callback The function to resolve variable values not found in the map.
*/
- default void interpolate(@Nonnull Map<String, String> properties, @Nullable Function<String, String> callback) {
+ default void interpolate(@Nonnull Map<String, String> properties, @Nullable UnaryOperator<String> callback) {
interpolate(properties, callback, null, true);
}
@@ -59,7 +60,7 @@ public interface Interpolator extends Service {
* @param defaultsToEmpty If true, unresolved placeholders are replaced with empty strings. If false, they are left unchanged.
*/
default void interpolate(
- @Nonnull Map<String, String> map, @Nullable Function<String, String> callback, boolean defaultsToEmpty) {
+ @Nonnull Map<String, String> map, @Nullable UnaryOperator<String> callback, boolean defaultsToEmpty) {
interpolate(map, callback, null, defaultsToEmpty);
}
@@ -72,8 +73,8 @@ public interface Interpolator extends Service {
*/
void interpolate(
@Nonnull Map<String, String> map,
- @Nullable Function<String, String> callback,
- @Nullable BiFunction<String, String, String> postprocessor,
+ @Nullable UnaryOperator<String> callback,
+ @Nullable BinaryOperator<String> postprocessor,
boolean defaultsToEmpty);
/**
@@ -85,7 +86,7 @@ public interface Interpolator extends Service {
* @return The interpolated string, or null if the input was null.
*/
@Nullable
- default String interpolate(@Nullable String val, @Nullable Function<String, String> callback) {
+ default String interpolate(@Nullable String val, @Nullable UnaryOperator<String> callback) {
return interpolate(val, callback, false);
}
@@ -99,7 +100,7 @@ public interface Interpolator extends Service {
*/
@Nullable
default String interpolate(
- @Nullable String val, @Nullable Function<String, String> callback, boolean defaultsToEmpty) {
+ @Nullable String val, @Nullable UnaryOperator<String> callback, boolean defaultsToEmpty) {
return interpolate(val, callback, null, defaultsToEmpty);
}
@@ -114,8 +115,8 @@ public interface Interpolator extends Service {
@Nullable
String interpolate(
@Nullable String val,
- @Nullable Function<String, String> callback,
- @Nullable BiFunction<String, String, String> postprocessor,
+ @Nullable UnaryOperator<String> callback,
+ @Nullable BinaryOperator<String> postprocessor,
boolean defaultsToEmpty);
/**
@@ -127,9 +128,9 @@ public interface Interpolator extends Service {
*
* @throws NullPointerException if the input collection is null or contains null elements.
*/
- static Function<String, String> chain(Collection<? extends Function<String, String>> functions) {
+ static UnaryOperator<String> chain(Collection<? extends UnaryOperator<String>> functions) {
return s -> {
- for (Function<String, String> function : functions) {
+ for (UnaryOperator<String> function : functions) {
String v = function.apply(s);
if (v != null) {
return v;
@@ -140,7 +141,7 @@ public interface Interpolator extends Service {
}
@SafeVarargs
- static Function<String, String> chain(Function<String, String>... functions) {
+ static UnaryOperator<String> chain(UnaryOperator<String>... functions) {
return chain(List.of(functions));
}
@@ -150,14 +151,14 @@ public interface Interpolator extends Service {
* improving performance for repeated calls with the same input.
*
* @param callback The original function to be memoized. It takes a String as input and returns a String.
- * @return A new {@code Function<String, String>} that caches the results of the original function.
+ * @return A new {@code UnaryOperator<String>} that caches the results of the original function.
* If the original function returns null for a given input, null will be cached and returned for subsequent calls with the same input.
*
* @see Function
* @see Optional
* @see HashMap#computeIfAbsent(Object, Function)
*/
- static Function<String, String> memoize(Function<String, String> callback) {
+ static UnaryOperator<String> memoize(UnaryOperator<String> callback) {
Map<String, Optional<String>> cache = new HashMap<>();
return s -> cache.computeIfAbsent(s, v -> Optional.ofNullable(callback.apply(v)))
.orElse(null);
diff --git a/api/maven-api-core/src/main/java/org/apache/maven/api/services/SettingsBuilderRequest.java b/api/maven-api-core/src/main/java/org/apache/maven/api/services/SettingsBuilderRequest.java
index d1c6750c45..311f922362 100644
--- a/api/maven-api-core/src/main/java/org/apache/maven/api/services/SettingsBuilderRequest.java
+++ b/api/maven-api-core/src/main/java/org/apache/maven/api/services/SettingsBuilderRequest.java
@@ -21,7 +21,7 @@ package org.apache.maven.api.services;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Optional;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.ProtoSession;
import org.apache.maven.api.annotations.Experimental;
@@ -72,7 +72,7 @@ public interface SettingsBuilderRequest {
* @return the interpolation source for interpolation
*/
@Nonnull
- Optional<Function<String, String>> getInterpolationSource();
+ Optional<UnaryOperator<String>> getInterpolationSource();
@Nonnull
static SettingsBuilderRequest build(
@@ -136,7 +136,7 @@ public interface SettingsBuilderRequest {
Source installationSettingsSource;
Source projectSettingsSource;
Source userSettingsSource;
- Function<String, String> interpolationSource;
+ UnaryOperator<String> interpolationSource;
public SettingsBuilderRequestBuilder session(ProtoSession session) {
this.session = session;
@@ -158,7 +158,7 @@ public interface SettingsBuilderRequest {
return this;
}
- public SettingsBuilderRequestBuilder interpolationSource(Function<String, String> interpolationSource) {
+ public SettingsBuilderRequestBuilder interpolationSource(UnaryOperator<String> interpolationSource) {
this.interpolationSource = interpolationSource;
return this;
}
@@ -177,7 +177,7 @@ public interface SettingsBuilderRequest {
private final Source installationSettingsSource;
private final Source projectSettingsSource;
private final Source userSettingsSource;
- private final Function<String, String> interpolationSource;
+ private final UnaryOperator<String> interpolationSource;
@SuppressWarnings("checkstyle:ParameterNumber")
DefaultSettingsBuilderRequest(
@@ -185,7 +185,7 @@ public interface SettingsBuilderRequest {
@Nullable Source installationSettingsSource,
@Nullable Source projectSettingsSource,
@Nullable Source userSettingsSource,
- @Nullable Function<String, String> interpolationSource) {
+ @Nullable UnaryOperator<String> interpolationSource) {
super(session);
this.installationSettingsSource = installationSettingsSource;
this.projectSettingsSource = projectSettingsSource;
@@ -213,7 +213,7 @@ public interface SettingsBuilderRequest {
@Nonnull
@Override
- public Optional<Function<String, String>> getInterpolationSource() {
+ public Optional<UnaryOperator<String>> getInterpolationSource() {
return Optional.ofNullable(interpolationSource);
}
}
diff --git a/compat/maven-embedder/src/main/java/org/apache/maven/cli/ExtensionConfigurationModule.java b/compat/maven-embedder/src/main/java/org/apache/maven/cli/ExtensionConfigurationModule.java
index b0f4b9e9ba..85bcc8cb1c 100644
--- a/compat/maven-embedder/src/main/java/org/apache/maven/cli/ExtensionConfigurationModule.java
+++ b/compat/maven-embedder/src/main/java/org/apache/maven/cli/ExtensionConfigurationModule.java
@@ -18,7 +18,7 @@
*/
package org.apache.maven.cli;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import com.google.inject.Binder;
import com.google.inject.Module;
@@ -36,10 +36,10 @@ import org.codehaus.plexus.configuration.PlexusConfiguration;
public class ExtensionConfigurationModule implements Module {
private final CoreExtensionEntry extension;
- private final Function<String, String> callback;
+ private final UnaryOperator<String> callback;
private final DefaultInterpolator interpolator = new DefaultInterpolator();
- public ExtensionConfigurationModule(CoreExtensionEntry extension, Function<String, String> callback) {
+ public ExtensionConfigurationModule(CoreExtensionEntry extension, UnaryOperator<String> callback) {
this.extension = extension;
this.callback = callback;
}
@@ -51,8 +51,8 @@ public class ExtensionConfigurationModule implements Module {
if (configuration == null) {
configuration = new XmlNodeImpl("configuration");
}
- Function<String, String> cb = Interpolator.memoize(callback);
- Function<String, String> it = s -> interpolator.interpolate(s, cb);
+ UnaryOperator<String> cb = Interpolator.memoize(callback);
+ UnaryOperator<String> it = s -> interpolator.interpolate(s, cb);
configuration = new ExtensionInterpolator(it).transform(configuration);
binder.bind(XmlNode.class)
@@ -65,7 +65,7 @@ public class ExtensionConfigurationModule implements Module {
}
static class ExtensionInterpolator extends MavenTransformer {
- ExtensionInterpolator(Function<String, String> transformer) {
+ ExtensionInterpolator(UnaryOperator<String> transformer) {
super(transformer);
}
diff --git a/compat/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/compat/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index 0b2d95ea2a..979b4a523a 100644
--- a/compat/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/compat/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -45,7 +45,7 @@ import java.util.Properties;
import java.util.ServiceLoader;
import java.util.Set;
import java.util.function.Consumer;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Stream;
@@ -643,7 +643,7 @@ public class MavenCli {
populateProperties(cliRequest.commandLine, paths, cliRequest.systemProperties, cliRequest.userProperties);
// now that we have properties, interpolate all arguments
- Function<String, String> callback = v -> {
+ UnaryOperator<String> callback = v -> {
String r = paths.getProperty(v);
if (r == null) {
r = cliRequest.systemProperties.getProperty(v);
@@ -724,7 +724,7 @@ public class MavenCli {
container.setLoggerManager(plexusLoggerManager);
- Function<String, String> extensionSource = expression -> {
+ UnaryOperator<String> extensionSource = expression -> {
String value = cliRequest.userProperties.getProperty(expression);
if (value == null) {
value = cliRequest.systemProperties.getProperty(expression);
@@ -1660,7 +1660,7 @@ public class MavenCli {
// ----------------------------------------------------------------------
// Load config files
// ----------------------------------------------------------------------
- Function<String, String> callback =
+ UnaryOperator<String> callback =
or(paths::getProperty, prefix("cli.", commandLine::getOptionValue), systemProperties::getProperty);
Path mavenConf;
@@ -1686,7 +1686,7 @@ public class MavenCli {
.forEach(k -> System.setProperty(k, userProperties.getProperty(k)));
}
- private static Function<String, String> prefix(String prefix, Function<String, String> cb) {
+ private static UnaryOperator<String> prefix(String prefix, UnaryOperator<String> cb) {
return s -> {
String v = null;
if (s.startsWith(prefix)) {
@@ -1696,9 +1696,9 @@ public class MavenCli {
};
}
- private static Function<String, String> or(Function<String, String>... callbacks) {
+ private static UnaryOperator<String> or(UnaryOperator<String>... callbacks) {
return s -> {
- for (Function<String, String> cb : callbacks) {
+ for (UnaryOperator<String> cb : callbacks) {
String r = cb.apply(s);
if (r != null) {
return r;
diff --git a/compat/maven-embedder/src/main/java/org/apache/maven/cli/internal/BootstrapCoreExtensionManager.java b/compat/maven-embedder/src/main/java/org/apache/maven/cli/internal/BootstrapCoreExtensionManager.java
index a19c0f81d7..5dc8858b82 100644
--- a/compat/maven-embedder/src/main/java/org/apache/maven/cli/internal/BootstrapCoreExtensionManager.java
+++ b/compat/maven-embedder/src/main/java/org/apache/maven/cli/internal/BootstrapCoreExtensionManager.java
@@ -27,7 +27,7 @@ import java.util.Collections;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.Set;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import java.util.stream.Collectors;
import org.apache.maven.RepositoryUtils;
@@ -139,7 +139,7 @@ public class BootstrapCoreExtensionManager {
InternalSession.associate(repoSession, iSession);
List<RemoteRepository> repositories = RepositoryUtils.toRepos(request.getPluginArtifactRepositories());
- Function<String, String> interpolator = createInterpolator(request);
+ UnaryOperator<String> interpolator = createInterpolator(request);
return resolveCoreExtensions(repoSession, repositories, providedArtifacts, extensions, interpolator);
}
@@ -150,7 +150,7 @@ public class BootstrapCoreExtensionManager {
List<RemoteRepository> repositories,
Set<String> providedArtifacts,
List<CoreExtension> configuration,
- Function<String, String> interpolator)
+ UnaryOperator<String> interpolator)
throws Exception {
List<CoreExtensionEntry> extensions = new ArrayList<>();
@@ -208,7 +208,7 @@ public class BootstrapCoreExtensionManager {
RepositorySystemSession repoSession,
List<RemoteRepository> repositories,
DependencyFilter dependencyFilter,
- Function<String, String> interpolator)
+ UnaryOperator<String> interpolator)
throws ExtensionResolutionException {
try {
/* TODO: Enhance the PluginDependenciesResolver to provide a
@@ -232,9 +232,9 @@ public class BootstrapCoreExtensionManager {
}
}
- private static Function<String, String> createInterpolator(MavenExecutionRequest request) {
+ private static UnaryOperator<String> createInterpolator(MavenExecutionRequest request) {
Interpolator interpolator = new DefaultInterpolator();
- Function<String, String> callback = v -> {
+ UnaryOperator<String> callback = v -> {
String r = request.getUserProperties().getProperty(v);
if (r == null) {
r = request.getSystemProperties().getProperty(v);
diff --git a/compat/maven-embedder/src/main/java/org/apache/maven/cli/props/MavenProperties.java b/compat/maven-embedder/src/main/java/org/apache/maven/cli/props/MavenProperties.java
index b2a9479331..0a1d955f86 100644
--- a/compat/maven-embedder/src/main/java/org/apache/maven/cli/props/MavenProperties.java
+++ b/compat/maven-embedder/src/main/java/org/apache/maven/cli/props/MavenProperties.java
@@ -42,7 +42,7 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.internal.impl.model.DefaultInterpolator;
@@ -81,7 +81,7 @@ public class MavenProperties extends AbstractMap<String, String> {
private List<String> header;
private List<String> footer;
private Path location;
- private Function<String, String> callback;
+ private UnaryOperator<String> callback;
boolean substitute = true;
boolean typed;
@@ -91,7 +91,7 @@ public class MavenProperties extends AbstractMap<String, String> {
this(location, null);
}
- public MavenProperties(Path location, Function<String, String> callback) throws IOException {
+ public MavenProperties(Path location, UnaryOperator<String> callback) throws IOException {
this.location = location;
this.callback = callback;
if (Files.exists(location)) {
@@ -474,7 +474,7 @@ public class MavenProperties extends AbstractMap<String, String> {
substitute(callback);
}
- public void substitute(Function<String, String> callback) {
+ public void substitute(UnaryOperator<String> callback) {
new DefaultInterpolator().interpolate(storage, callback);
}
diff --git a/compat/maven-embedder/src/main/java/org/apache/maven/cli/props/MavenPropertiesLoader.java b/compat/maven-embedder/src/main/java/org/apache/maven/cli/props/MavenPropertiesLoader.java
index d83f56850f..62bfe2c838 100644
--- a/compat/maven-embedder/src/main/java/org/apache/maven/cli/props/MavenPropertiesLoader.java
+++ b/compat/maven-embedder/src/main/java/org/apache/maven/cli/props/MavenPropertiesLoader.java
@@ -24,7 +24,7 @@ import java.nio.file.Path;
import java.util.Enumeration;
import java.util.Map;
import java.util.StringTokenizer;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.internal.impl.model.DefaultInterpolator;
@@ -37,7 +37,7 @@ public class MavenPropertiesLoader {
"maven.override."; // prefix that marks that system property should override defaults.
public static void loadProperties(
- java.util.Properties properties, Path path, Function<String, String> callback, boolean escape)
+ java.util.Properties properties, Path path, UnaryOperator<String> callback, boolean escape)
throws IOException {
MavenProperties sp = new MavenProperties(false);
if (Files.exists(path)) {
@@ -50,7 +50,7 @@ public class MavenPropertiesLoader {
sp.forEach(properties::setProperty);
}
- public static void substitute(MavenProperties props, Function<String, String> callback) {
+ public static void substitute(MavenProperties props, UnaryOperator<String> callback) {
for (Enumeration<?> e = props.propertyNames(); e.hasMoreElements(); ) {
String name = (String) e.nextElement();
String value = props.getProperty(name);
@@ -67,8 +67,8 @@ public class MavenPropertiesLoader {
props.keySet().removeIf(k -> k.startsWith(OVERRIDE_PREFIX));
}
- private static MavenProperties loadPropertiesFile(
- Path path, boolean failIfNotFound, Function<String, String> callback) throws IOException {
+ private static MavenProperties loadPropertiesFile(Path path, boolean failIfNotFound, UnaryOperator<String> callback)
+ throws IOException {
MavenProperties configProps = new MavenProperties(null, false);
if (Files.exists(path) || failIfNotFound) {
configProps.load(path);
@@ -78,7 +78,7 @@ public class MavenPropertiesLoader {
return configProps;
}
- private static void loadIncludes(Path configProp, MavenProperties configProps, Function<String, String> callback)
+ private static void loadIncludes(Path configProp, MavenProperties configProps, UnaryOperator<String> callback)
throws IOException {
String includes = configProps.get(INCLUDES_PROPERTY);
if (includes != null) {
@@ -162,7 +162,7 @@ public class MavenPropertiesLoader {
}
public static String substVars(
- String value, String name, Map<String, String> props, Function<String, String> callback) {
+ String value, String name, Map<String, String> props, UnaryOperator<String> callback) {
return DefaultInterpolator.substVars(value, name, null, props, callback, null, false);
}
}
diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/extensions/BootstrapCoreExtensionManager.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/extensions/BootstrapCoreExtensionManager.java
index b5eb37166b..944504f304 100644
--- a/impl/maven-cli/src/main/java/org/apache/maven/cling/extensions/BootstrapCoreExtensionManager.java
+++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/extensions/BootstrapCoreExtensionManager.java
@@ -24,7 +24,7 @@ import java.util.Collections;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.Set;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import java.util.stream.Collectors;
import org.apache.maven.RepositoryUtils;
@@ -137,7 +137,7 @@ public class BootstrapCoreExtensionManager {
InternalSession.associate(repoSession, iSession);
List<RemoteRepository> repositories = RepositoryUtils.toRepos(request.getPluginArtifactRepositories());
- Function<String, String> interpolator = createInterpolator(request);
+ UnaryOperator<String> interpolator = createInterpolator(request);
return resolveCoreExtensions(repoSession, repositories, providedArtifacts, extensions, interpolator);
}
@@ -148,7 +148,7 @@ public class BootstrapCoreExtensionManager {
List<RemoteRepository> repositories,
Set<String> providedArtifacts,
List<CoreExtension> configuration,
- Function<String, String> interpolator)
+ UnaryOperator<String> interpolator)
throws Exception {
List<CoreExtensionEntry> extensions = new ArrayList<>();
@@ -206,7 +206,7 @@ public class BootstrapCoreExtensionManager {
RepositorySystemSession repoSession,
List<RemoteRepository> repositories,
DependencyFilter dependencyFilter,
- Function<String, String> interpolator)
+ UnaryOperator<String> interpolator)
throws ExtensionResolutionException {
try {
/* TODO: Enhance the PluginDependenciesResolver to provide a
@@ -230,9 +230,9 @@ public class BootstrapCoreExtensionManager {
}
}
- private static Function<String, String> createInterpolator(MavenExecutionRequest request) {
+ private static UnaryOperator<String> createInterpolator(MavenExecutionRequest request) {
Interpolator interpolator = new DefaultInterpolator();
- Function<String, String> callback = v -> {
+ UnaryOperator<String> callback = v -> {
String r = request.getUserProperties().getProperty(v);
if (r == null) {
r = request.getSystemProperties().getProperty(v);
diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/extensions/ExtensionConfigurationModule.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/extensions/ExtensionConfigurationModule.java
index 2b04b3abae..f9778a42ba 100644
--- a/impl/maven-cli/src/main/java/org/apache/maven/cling/extensions/ExtensionConfigurationModule.java
+++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/extensions/ExtensionConfigurationModule.java
@@ -18,7 +18,7 @@
*/
package org.apache.maven.cling.extensions;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import com.google.inject.Binder;
import com.google.inject.Module;
@@ -35,10 +35,10 @@ import org.codehaus.plexus.configuration.PlexusConfiguration;
public class ExtensionConfigurationModule implements Module {
private final CoreExtensionEntry extension;
- private final Function<String, String> callback;
+ private final UnaryOperator<String> callback;
private final DefaultInterpolator interpolator = new DefaultInterpolator();
- public ExtensionConfigurationModule(CoreExtensionEntry extension, Function<String, String> callback) {
+ public ExtensionConfigurationModule(CoreExtensionEntry extension, UnaryOperator<String> callback) {
this.extension = extension;
this.callback = callback;
}
@@ -50,8 +50,8 @@ public class ExtensionConfigurationModule implements Module {
if (configuration == null) {
configuration = new XmlNodeImpl("configuration");
}
- Function<String, String> cb = Interpolator.memoize(callback);
- Function<String, String> it = s -> interpolator.interpolate(s, cb);
+ UnaryOperator<String> cb = Interpolator.memoize(callback);
+ UnaryOperator<String> it = s -> interpolator.interpolate(s, cb);
configuration = new ExtensionInterpolator(it).transform(configuration);
binder.bind(XmlNode.class)
@@ -64,7 +64,7 @@ public class ExtensionConfigurationModule implements Module {
}
static class ExtensionInterpolator extends MavenTransformer {
- ExtensionInterpolator(Function<String, String> transformer) {
+ ExtensionInterpolator(UnaryOperator<String> transformer) {
super(transformer);
}
diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/BaseParser.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/BaseParser.java
index 466237e043..27f4add0af 100644
--- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/BaseParser.java
+++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/BaseParser.java
@@ -33,7 +33,7 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Properties;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import java.util.stream.Collectors;
import org.apache.maven.api.Constants;
@@ -264,7 +264,7 @@ public abstract class BaseParser implements Parser {
// Load config files
// ----------------------------------------------------------------------
Map<String, String> paths = context.extraInterpolationSource();
- Function<String, String> callback =
+ UnaryOperator<String> callback =
or(paths::get, prefix("cli.", userSpecifiedProperties::get), context.systemProperties::get);
Path mavenConf;
diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupInvoker.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupInvoker.java
index 971e0cedbd..da4046a2dc 100644
--- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupInvoker.java
+++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupInvoker.java
@@ -31,7 +31,7 @@ import java.util.Locale;
import java.util.Map;
import java.util.Properties;
import java.util.function.Consumer;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.Constants;
import org.apache.maven.api.ProtoSession;
@@ -563,7 +563,7 @@ public abstract class LookupInvoker<C extends LookupContext> implements Invoker
context.projectSettingsPath = projectSettingsFile;
context.userSettingsPath = userSettingsFile;
- Function<String, String> interpolationSource = Interpolator.chain(
+ UnaryOperator<String> interpolationSource = Interpolator.chain(
context.protoSession.getUserProperties()::get, context.protoSession.getSystemProperties()::get);
SettingsBuilderRequest settingsRequest = SettingsBuilderRequest.builder()
.session(context.protoSession)
diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PlexusContainerCapsuleFactory.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PlexusContainerCapsuleFactory.java
index 56d6cc099f..c29bce1150 100644
--- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PlexusContainerCapsuleFactory.java
+++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PlexusContainerCapsuleFactory.java
@@ -25,7 +25,7 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import com.google.inject.AbstractModule;
import com.google.inject.Module;
@@ -111,7 +111,7 @@ public class PlexusContainerCapsuleFactory<C extends LookupContext> implements C
container.setLoggerManager(createLoggerManager());
ProtoSession protoSession = context.protoSession;
- Function<String, String> extensionSource = expression -> {
+ UnaryOperator<String> extensionSource = expression -> {
String value = protoSession.getUserProperties().get(expression);
if (value == null) {
value = protoSession.getSystemProperties().get(expression);
diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/Utils.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/Utils.java
index d4ab26da33..792e882068 100644
--- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/Utils.java
+++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/Utils.java
@@ -25,7 +25,7 @@ import java.util.Map;
import java.util.Optional;
import java.util.Properties;
import java.util.ServiceLoader;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.annotations.Nonnull;
import org.apache.maven.api.annotations.Nullable;
@@ -93,7 +93,7 @@ public final class Utils {
}
@Nonnull
- public static Function<String, String> prefix(String prefix, Function<String, String> cb) {
+ public static UnaryOperator<String> prefix(String prefix, UnaryOperator<String> cb) {
return s -> {
String v = null;
if (s.startsWith(prefix)) {
@@ -105,9 +105,9 @@ public final class Utils {
@SafeVarargs
@Nonnull
- public static Function<String, String> or(Function<String, String>... callbacks) {
+ public static UnaryOperator<String> or(UnaryOperator<String>... callbacks) {
return s -> {
- for (Function<String, String> cb : callbacks) {
+ for (UnaryOperator<String> cb : callbacks) {
String r = cb.apply(s);
if (r != null) {
return r;
diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/CommonsCliMavenOptions.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/CommonsCliMavenOptions.java
index c1885a6695..0ba2e6e0ab 100644
--- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/CommonsCliMavenOptions.java
+++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/CommonsCliMavenOptions.java
@@ -22,7 +22,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.ListIterator;
import java.util.Optional;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
@@ -44,8 +44,7 @@ public class CommonsCliMavenOptions extends CommonsCliOptions implements MavenOp
super(source, cliManager, commandLine);
}
- private static CommonsCliMavenOptions interpolate(
- CommonsCliMavenOptions options, Function<String, String> callback) {
+ private static CommonsCliMavenOptions interpolate(CommonsCliMavenOptions options, UnaryOperator<String> callback) {
try {
// now that we have properties, interpolate all arguments
Interpolator interpolator = createInterpolator();
@@ -248,7 +247,7 @@ public class CommonsCliMavenOptions extends CommonsCliOptions implements MavenOp
}
@Override
- public MavenOptions interpolate(Function<String, String> callback) {
+ public MavenOptions interpolate(UnaryOperator<String> callback) {
return interpolate(this, callback);
}
diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/LayeredMavenOptions.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/LayeredMavenOptions.java
index d19157af04..353f795913 100644
--- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/LayeredMavenOptions.java
+++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/LayeredMavenOptions.java
@@ -23,7 +23,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.cli.mvn.MavenOptions;
import org.apache.maven.cling.invoker.LayeredOptions;
@@ -160,7 +160,7 @@ public class LayeredMavenOptions<O extends MavenOptions> extends LayeredOptions<
}
@Override
- public MavenOptions interpolate(Function<String, String> callback) {
+ public MavenOptions interpolate(UnaryOperator<String> callback) {
ArrayList<MavenOptions> interpolatedOptions = new ArrayList<>(options.size());
for (MavenOptions o : options) {
interpolatedOptions.add(o.interpolate(callback));
diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/CommonsCliEncryptOptions.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/CommonsCliEncryptOptions.java
index 7059f8bafb..d67e93ec00 100644
--- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/CommonsCliEncryptOptions.java
+++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/CommonsCliEncryptOptions.java
@@ -22,7 +22,7 @@ import java.util.List;
import java.util.ListIterator;
import java.util.Optional;
import java.util.function.Consumer;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
@@ -50,7 +50,7 @@ public class CommonsCliEncryptOptions extends CommonsCliOptions implements Encry
}
private static CommonsCliEncryptOptions interpolate(
- CommonsCliEncryptOptions options, Function<String, String> callback) {
+ CommonsCliEncryptOptions options, UnaryOperator<String> callback) {
try {
// now that we have properties, interpolate all arguments
Interpolator interpolator = createInterpolator();
@@ -100,7 +100,7 @@ public class CommonsCliEncryptOptions extends CommonsCliOptions implements Encry
}
@Override
- public EncryptOptions interpolate(Function<String, String> callback) {
+ public EncryptOptions interpolate(UnaryOperator<String> callback) {
return interpolate(this, callback);
}
diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnsh/CommonsCliShellOptions.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnsh/CommonsCliShellOptions.java
index d64882896f..a45a973eaa 100644
--- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnsh/CommonsCliShellOptions.java
+++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnsh/CommonsCliShellOptions.java
@@ -20,7 +20,7 @@ package org.apache.maven.cling.invoker.mvnsh;
import java.util.List;
import java.util.ListIterator;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
@@ -46,8 +46,7 @@ public class CommonsCliShellOptions extends CommonsCliOptions implements ShellOp
super(source, cliManager, commandLine);
}
- private static CommonsCliShellOptions interpolate(
- CommonsCliShellOptions options, Function<String, String> callback) {
+ private static CommonsCliShellOptions interpolate(CommonsCliShellOptions options, UnaryOperator<String> callback) {
try {
// now that we have properties, interpolate all arguments
Interpolator interpolator = createInterpolator();
@@ -73,7 +72,7 @@ public class CommonsCliShellOptions extends CommonsCliOptions implements ShellOp
}
@Override
- public ShellOptions interpolate(Function<String, String> callback) {
+ public ShellOptions interpolate(UnaryOperator<String> callback) {
return interpolate(this, callback);
}
diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenProperties.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenProperties.java
index 2249477490..a7d624cc5d 100644
--- a/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenProperties.java
+++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenProperties.java
@@ -42,7 +42,7 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.internal.impl.model.DefaultInterpolator;
@@ -80,7 +80,7 @@ public class MavenProperties extends AbstractMap<String, String> {
private List<String> header;
private List<String> footer;
private Path location;
- private Function<String, String> callback;
+ private UnaryOperator<String> callback;
boolean substitute = true;
boolean typed;
@@ -90,7 +90,7 @@ public class MavenProperties extends AbstractMap<String, String> {
this(location, null);
}
- public MavenProperties(Path location, Function<String, String> callback) throws IOException {
+ public MavenProperties(Path location, UnaryOperator<String> callback) throws IOException {
this.location = location;
this.callback = callback;
if (Files.exists(location)) {
@@ -473,7 +473,7 @@ public class MavenProperties extends AbstractMap<String, String> {
substitute(callback);
}
- public void substitute(Function<String, String> callback) {
+ public void substitute(UnaryOperator<String> callback) {
new DefaultInterpolator().interpolate(storage, callback);
}
diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenPropertiesLoader.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenPropertiesLoader.java
index df9b0a6d5a..3bfb64a639 100644
--- a/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenPropertiesLoader.java
+++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenPropertiesLoader.java
@@ -24,7 +24,7 @@ import java.nio.file.Path;
import java.util.Enumeration;
import java.util.Map;
import java.util.StringTokenizer;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.internal.impl.model.DefaultInterpolator;
@@ -36,7 +36,7 @@ public class MavenPropertiesLoader {
"maven.override."; // prefix that marks that system property should override defaults.
public static void loadProperties(
- java.util.Properties properties, Path path, Function<String, String> callback, boolean escape)
+ java.util.Properties properties, Path path, UnaryOperator<String> callback, boolean escape)
throws IOException {
MavenProperties sp = new MavenProperties(false);
if (Files.exists(path)) {
@@ -49,7 +49,7 @@ public class MavenPropertiesLoader {
sp.forEach(properties::setProperty);
}
- public static void substitute(MavenProperties props, Function<String, String> callback) {
+ public static void substitute(MavenProperties props, UnaryOperator<String> callback) {
for (Enumeration<?> e = props.propertyNames(); e.hasMoreElements(); ) {
String name = (String) e.nextElement();
String value = props.getProperty(name);
@@ -66,8 +66,8 @@ public class MavenPropertiesLoader {
props.keySet().removeIf(k -> k.startsWith(OVERRIDE_PREFIX));
}
- private static MavenProperties loadPropertiesFile(
- Path path, boolean failIfNotFound, Function<String, String> callback) throws IOException {
+ private static MavenProperties loadPropertiesFile(Path path, boolean failIfNotFound, UnaryOperator<String> callback)
+ throws IOException {
MavenProperties configProps = new MavenProperties(null, false);
if (Files.exists(path) || failIfNotFound) {
configProps.load(path);
@@ -77,7 +77,7 @@ public class MavenPropertiesLoader {
return configProps;
}
- private static void loadIncludes(Path configProp, MavenProperties configProps, Function<String, String> callback)
+ private static void loadIncludes(Path configProp, MavenProperties configProps, UnaryOperator<String> callback)
throws IOException {
String includes = configProps.get(INCLUDES_PROPERTY);
if (includes != null) {
@@ -161,7 +161,7 @@ public class MavenPropertiesLoader {
}
public static String substVars(
- String value, String name, Map<String, String> props, Function<String, String> callback) {
+ String value, String name, Map<String, String> props, UnaryOperator<String> callback) {
return DefaultInterpolator.substVars(value, name, null, props, callback, null, false);
}
}
diff --git a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/DefaultPluginConfigurationExpander.java b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/DefaultPluginConfigurationExpander.java
index 6a6b215323..3276bb9558 100644
--- a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/DefaultPluginConfigurationExpander.java
+++ b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/DefaultPluginConfigurationExpander.java
@@ -20,7 +20,7 @@ package org.apache.maven.internal.impl;
import java.util.ArrayList;
import java.util.List;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.di.Named;
import org.apache.maven.api.di.Singleton;
@@ -90,7 +90,7 @@ public class DefaultPluginConfigurationExpander implements PluginConfigurationEx
});
}
- static <T> List<T> map(List<T> list, Function<T, T> mapper) {
+ static <T> List<T> map(List<T> list, UnaryOperator<T> mapper) {
List<T> newList = list;
for (int i = 0; i < newList.size(); i++) {
T oldT = newList.get(i);
diff --git a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/DefaultSettingsBuilder.java b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/DefaultSettingsBuilder.java
index 397ce98531..1936ab647d 100644
--- a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/DefaultSettingsBuilder.java
+++ b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/DefaultSettingsBuilder.java
@@ -29,8 +29,8 @@ import java.nio.file.Paths;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.function.Function;
import java.util.function.Supplier;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.Constants;
import org.apache.maven.api.ProtoSession;
@@ -232,7 +232,7 @@ public class DefaultSettingsBuilder implements SettingsBuilder {
private Settings interpolate(
Settings settings, SettingsBuilderRequest request, ProblemCollector<BuilderProblem> problems) {
- Function<String, String> src;
+ UnaryOperator<String> src;
if (request.getInterpolationSource().isPresent()) {
src = request.getInterpolationSource().get();
} else {
@@ -245,7 +245,7 @@ public class DefaultSettingsBuilder implements SettingsBuilder {
}
static class DefSettingsTransformer extends SettingsTransformer {
- DefSettingsTransformer(Function<String, String> transformer) {
+ DefSettingsTransformer(UnaryOperator<String> transformer) {
super(transformer);
}
@@ -267,7 +267,7 @@ public class DefaultSettingsBuilder implements SettingsBuilder {
}
SecDispatcher secDispatcher = new DefaultSecDispatcher(dispatchers, getSecuritySettings(request.getSession()));
final AtomicInteger preMaven4Passwords = new AtomicInteger(0);
- Function<String, String> decryptFunction = str -> {
+ UnaryOperator<String> decryptFunction = str -> {
if (str != null && !str.isEmpty() && !str.contains("${") && secDispatcher.isAnyEncryptedString(str)) {
if (secDispatcher.isLegacyEncryptedString(str)) {
// add a problem
diff --git a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/DefaultToolchainsBuilder.java b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/DefaultToolchainsBuilder.java
index 0bcf493cfd..7f67382568 100644
--- a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/DefaultToolchainsBuilder.java
+++ b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/DefaultToolchainsBuilder.java
@@ -24,7 +24,7 @@ import javax.xml.stream.XMLStreamException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.di.Inject;
import org.apache.maven.api.di.Named;
@@ -156,7 +156,7 @@ public class DefaultToolchainsBuilder implements ToolchainsBuilder {
ProblemCollector<BuilderProblem> problems) {
Map<String, String> userProperties = request.getSession().getUserProperties();
Map<String, String> systemProperties = request.getSession().getSystemProperties();
- Function<String, String> src = Interpolator.chain(userProperties::get, systemProperties::get);
+ UnaryOperator<String> src = Interpolator.chain(userProperties::get, systemProperties::get);
return new MavenToolchainsTransformer(value -> value != null ? interpolator.interpolate(value, src) : null)
.visit(toolchains);
}
diff --git a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultInterpolator.java b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultInterpolator.java
index f73d876c90..bb96532caf 100644
--- a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultInterpolator.java
+++ b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultInterpolator.java
@@ -22,8 +22,8 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import java.util.function.BiFunction;
-import java.util.function.Function;
+import java.util.function.BinaryOperator;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.annotations.Nullable;
import org.apache.maven.api.di.Named;
@@ -43,8 +43,8 @@ public class DefaultInterpolator implements Interpolator {
@Override
public void interpolate(
Map<String, String> map,
- Function<String, String> callback,
- BiFunction<String, String, String> postprocessor,
+ UnaryOperator<String> callback,
+ BinaryOperator<String> postprocessor,
boolean defaultsToEmpty) {
Map<String, String> org = new HashMap<>(map);
for (String name : map.keySet()) {
@@ -68,10 +68,7 @@ public class DefaultInterpolator implements Interpolator {
@Override
public String interpolate(
- String val,
- Function<String, String> callback,
- BiFunction<String, String, String> postprocessor,
- boolean defaultsToEmpty) {
+ String val, UnaryOperator<String> callback, BinaryOperator<String> postprocessor, boolean defaultsToEmpty) {
return interpolate(val, null, null, callback, postprocessor, defaultsToEmpty);
}
@@ -80,8 +77,8 @@ public class DefaultInterpolator implements Interpolator {
@Nullable String val,
@Nullable String currentKey,
@Nullable Set<String> cycleMap,
- @Nullable Function<String, String> callback,
- @Nullable BiFunction<String, String, String> postprocessor,
+ @Nullable UnaryOperator<String> callback,
+ @Nullable BinaryOperator<String> postprocessor,
boolean defaultsToEmpty) {
return substVars(val, currentKey, cycleMap, null, callback, postprocessor, defaultsToEmpty);
}
@@ -92,7 +89,7 @@ public class DefaultInterpolator implements Interpolator {
* @param properties the property set to perform substitution on
* @param callback Callback for substitution
*/
- public void performSubstitution(Map<String, String> properties, Function<String, String> callback) {
+ public void performSubstitution(Map<String, String> properties, UnaryOperator<String> callback) {
performSubstitution(properties, callback, true);
}
@@ -104,7 +101,7 @@ public class DefaultInterpolator implements Interpolator {
* @param defaultsToEmptyString sets an empty string if a replacement value is not found, leaves intact otherwise
*/
public void performSubstitution(
- Map<String, String> properties, Function<String, String> callback, boolean defaultsToEmptyString) {
+ Map<String, String> properties, UnaryOperator<String> callback, boolean defaultsToEmptyString) {
Map<String, String> org = new HashMap<>(properties);
for (String name : properties.keySet()) {
properties.compute(
@@ -166,7 +163,7 @@ public class DefaultInterpolator implements Interpolator {
String currentKey,
Set<String> cycleMap,
Map<String, String> configProps,
- Function<String, String> callback) {
+ UnaryOperator<String> callback) {
return substVars(val, currentKey, cycleMap, configProps, callback, null, false);
}
@@ -199,8 +196,8 @@ public class DefaultInterpolator implements Interpolator {
String currentKey,
Set<String> cycleMap,
Map<String, String> configProps,
- Function<String, String> callback,
- BiFunction<String, String, String> postprocessor,
+ UnaryOperator<String> callback,
+ BinaryOperator<String> postprocessor,
boolean defaultsToEmptyString) {
return unescape(
doSubstVars(val, currentKey, cycleMap, configProps, callback, postprocessor, defaultsToEmptyString));
@@ -211,8 +208,8 @@ public class DefaultInterpolator implements Interpolator {
String currentKey,
Set<String> cycleMap,
Map<String, String> configProps,
- Function<String, String> callback,
- BiFunction<String, String, String> postprocessor,
+ UnaryOperator<String> callback,
+ BinaryOperator<String> postprocessor,
boolean defaultsToEmptyString) {
if (val == null || val.isEmpty()) {
return val;
@@ -291,8 +288,8 @@ public class DefaultInterpolator implements Interpolator {
String org,
Set<String> cycleMap,
Map<String, String> configProps,
- Function<String, String> callback,
- BiFunction<String, String, String> postprocessor,
+ UnaryOperator<String> callback,
+ BinaryOperator<String> postprocessor,
boolean defaultsToEmptyString) {
// Process chained operators from left to right
@@ -365,8 +362,8 @@ public class DefaultInterpolator implements Interpolator {
String variable,
Set<String> cycleMap,
Map<String, String> configProps,
- Function<String, String> callback,
- BiFunction<String, String, String> postprocessor,
+ UnaryOperator<String> callback,
+ BinaryOperator<String> postprocessor,
boolean defaultsToEmptyString) {
// Verify that this is not a recursive variable reference
diff --git a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelBuilder.java b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelBuilder.java
index 0367d7fd37..4957626832 100644
--- a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelBuilder.java
+++ b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelBuilder.java
@@ -40,7 +40,6 @@ import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicReference;
-import java.util.function.Function;
import java.util.function.Supplier;
import java.util.function.UnaryOperator;
import java.util.regex.Matcher;
@@ -1880,7 +1879,7 @@ public class DefaultModelBuilder implements ModelBuilder {
Map<String, String> map1 = request.getSession().getUserProperties();
Map<String, String> map2 = model.getProperties();
Map<String, String> map3 = request.getSession().getSystemProperties();
- Function<String, String> cb = Interpolator.chain(map1::get, map2::get, map3::get);
+ UnaryOperator<String> cb = Interpolator.chain(map1::get, map2::get, map3::get);
try {
String interpolated =
interpolator.interpolate(interpolatedModel.getParent().getVersion(), cb);
diff --git a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelInterpolator.java b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelInterpolator.java
index 444b8c75c1..72fde20b36 100644
--- a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelInterpolator.java
+++ b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelInterpolator.java
@@ -26,8 +26,9 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
-import java.util.function.BiFunction;
+import java.util.function.BinaryOperator;
import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.di.Inject;
import org.apache.maven.api.di.Named;
@@ -110,8 +111,8 @@ public class DefaultModelInterpolator implements ModelInterpolator {
Map<String, Optional<String>> cache = new HashMap<>();
Function<String, Optional<String>> ucb =
v -> Optional.ofNullable(callback(model, projectDir, request, problems, v));
- Function<String, String> cb = v -> cache.computeIfAbsent(v, ucb).orElse(null);
- BiFunction<String, String, String> postprocessor = (e, v) -> postProcess(projectDir, request, e, v);
+ UnaryOperator<String> cb = v -> cache.computeIfAbsent(v, ucb).orElse(null);
+ BinaryOperator<String> postprocessor = (e, v) -> postProcess(projectDir, request, e, v);
return value -> {
try {
return interpolator.interpolate(value, cb, postprocessor, false);
diff --git a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelNormalizer.java b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelNormalizer.java
index ea5c2cfb60..ae482df29d 100644
--- a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelNormalizer.java
+++ b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelNormalizer.java
@@ -23,7 +23,7 @@ import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.di.Named;
import org.apache.maven.api.di.Singleton;
@@ -130,7 +130,7 @@ public class DefaultModelNormalizer implements ModelNormalizer {
/**
* Returns a list suited for the builders, i.e. null if not modified
*/
- private <T> List<T> injectList(List<T> list, Function<T, T> modifer) {
+ private <T> List<T> injectList(List<T> list, UnaryOperator<T> modifer) {
List<T> newList = null;
for (int i = 0; i < list.size(); i++) {
T oldT = list.get(i);
diff --git a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelPathTranslator.java b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelPathTranslator.java
index 3d08148c13..1974beb419 100644
--- a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelPathTranslator.java
+++ b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelPathTranslator.java
@@ -22,7 +22,7 @@ import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.di.Inject;
import org.apache.maven.api.di.Named;
@@ -88,7 +88,7 @@ public class DefaultModelPathTranslator implements ModelPathTranslator {
return model;
}
- private <T> List<T> map(List<T> resources, Function<T, T> mapper) {
+ private <T> List<T> map(List<T> resources, UnaryOperator<T> mapper) {
List<T> newResources = null;
if (resources != null) {
for (int i = 0; i < resources.size(); i++) {
diff --git a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/profile/ConditionParser.java b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/profile/ConditionParser.java
index 6e649f0012..84e1a54419 100644
--- a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/profile/ConditionParser.java
+++ b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/profile/ConditionParser.java
@@ -21,7 +21,7 @@ package org.apache.maven.internal.impl.model.profile;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
/**
* The {@code ConditionParser} class is responsible for parsing and evaluating expressions.
@@ -46,7 +46,7 @@ public class ConditionParser {
}
private final Map<String, ExpressionFunction> functions; // Map to store functions by their names
- private final Function<String, String> propertyResolver; // Property resolver
+ private final UnaryOperator<String> propertyResolver; // Property resolver
private List<String> tokens; // List of tokens derived from the expression
private int current; // Keeps track of the current token index
@@ -56,7 +56,7 @@ public class ConditionParser {
* @param functions a map of function names to their corresponding {@code ExpressionFunction} implementations
* @param propertyResolver the property resolver
*/
- public ConditionParser(Map<String, ExpressionFunction> functions, Function<String, String> propertyResolver) {
+ public ConditionParser(Map<String, ExpressionFunction> functions, UnaryOperator<String> propertyResolver) {
this.functions = functions;
this.propertyResolver = propertyResolver;
}
diff --git a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/profile/ConditionProfileActivator.java b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/profile/ConditionProfileActivator.java
index 7070905a2e..eb5787e4f9 100644
--- a/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/profile/ConditionProfileActivator.java
+++ b/impl/maven-impl/src/main/java/org/apache/maven/internal/impl/model/profile/ConditionProfileActivator.java
@@ -20,7 +20,7 @@ package org.apache.maven.internal.impl.model.profile;
import java.util.HashMap;
import java.util.Map;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.di.Inject;
import org.apache.maven.api.di.Named;
@@ -73,7 +73,7 @@ public class ConditionProfileActivator implements ProfileActivator {
String condition = profile.getActivation().getCondition();
try {
Map<String, ConditionParser.ExpressionFunction> functions = registerFunctions(context, versionParser);
- Function<String, String> propertyResolver = s -> property(context, s);
+ UnaryOperator<String> propertyResolver = s -> property(context, s);
return toBoolean(new ConditionParser(functions, propertyResolver).parse(condition));
} catch (Exception e) {
problems.add(
diff --git a/impl/maven-impl/src/test/java/org/apache/maven/internal/impl/model/DefaultInterpolatorTest.java b/impl/maven-impl/src/test/java/org/apache/maven/internal/impl/model/DefaultInterpolatorTest.java
index 9a0c9c70a6..bbdd861773 100644
--- a/impl/maven-impl/src/test/java/org/apache/maven/internal/impl/model/DefaultInterpolatorTest.java
+++ b/impl/maven-impl/src/test/java/org/apache/maven/internal/impl/model/DefaultInterpolatorTest.java
@@ -21,7 +21,7 @@ package org.apache.maven.internal.impl.model;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.services.InterpolatorException;
import org.junit.jupiter.api.Test;
@@ -207,7 +207,7 @@ class DefaultInterpolatorTest {
performSubstitution(props, null);
}
- private void performSubstitution(Map<String, String> props, Function<String, String> callback) {
+ private void performSubstitution(Map<String, String> props, UnaryOperator<String> callback) {
new DefaultInterpolator().performSubstitution(props, callback);
}
@@ -215,7 +215,7 @@ class DefaultInterpolatorTest {
String val,
String currentKey,
Map<String, String> configProps,
- Function<String, String> callback,
+ UnaryOperator<String> callback,
boolean defaultsToEmptyString) {
return new DefaultInterpolator()
.substVars(val, currentKey, null, configProps, callback, null, defaultsToEmptyString);
diff --git a/impl/maven-impl/src/test/java/org/apache/maven/internal/impl/model/profile/ConditionParserTest.java b/impl/maven-impl/src/test/java/org/apache/maven/internal/impl/model/profile/ConditionParserTest.java
index c2887d96f7..1cd3bf1201 100644
--- a/impl/maven-impl/src/test/java/org/apache/maven/internal/impl/model/profile/ConditionParserTest.java
+++ b/impl/maven-impl/src/test/java/org/apache/maven/internal/impl/model/profile/ConditionParserTest.java
@@ -19,7 +19,7 @@
package org.apache.maven.internal.impl.model.profile;
import java.util.Map;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import org.apache.maven.api.model.Model;
import org.apache.maven.api.services.model.ProfileActivationContext;
@@ -43,7 +43,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
class ConditionParserTest {
ConditionParser parser;
Map<String, ExpressionFunction> functions;
- Function<String, String> propertyResolver;
+ UnaryOperator<String> propertyResolver;
@BeforeEach
void setUp() {
diff --git a/src/mdo/transformer.vm b/src/mdo/transformer.vm
index 04b6b707b8..93178d5614 100644
--- a/src/mdo/transformer.vm
+++ b/src/mdo/transformer.vm
@@ -40,7 +40,7 @@ import java.util.Map;
import java.util.Properties;
import java.util.Objects;
import java.util.function.BinaryOperator;
-import java.util.function.Function;
+import java.util.function.UnaryOperator;
import java.util.function.Supplier;
import java.util.stream.Collectors;
@@ -54,9 +54,9 @@ import org.apache.maven.internal.xml.XmlNodeImpl;
@Generated
public class ${className} {
- private final Function<String, String> transformer;
+ private final UnaryOperator<String> transformer;
- public ${className}(Function<String, String> transformer) {
+ public ${className}(UnaryOperator<String> transformer) {
this.transformer = transformer;
}
@@ -141,7 +141,7 @@ public class ${className} {
#end
#end
- protected <T> List<T> transform(List<T> list, Function<T, T> transformer) {
+ protected <T> List<T> transform(List<T> list, UnaryOperator<T> transformer) {
List<T> newList = list;
for (int i = 0; i < list.size(); i++) {
T oldVal = list.get(i);
@@ -156,7 +156,7 @@ public class ${className} {
return newList;
}
- protected <T> Map<String, T> transform(Map<String, T> map, Function<T, T> transformer) {
+ protected <T> Map<String, T> transform(Map<String, T> map, UnaryOperator<T> transformer) {
Map<String, T> newMap = map;
for (String key : map.keySet()) {
T oldVal = map.get(key);