From 4adc154929851f7ee3db658d05148f887b03bbf3 Mon Sep 17 00:00:00 2001 From: Tamas Cservenak Date: Thu, 25 Apr 2024 11:18:28 +0200 Subject: [PATCH] [MRESOLVER-542] Reduce usage of final classes This mostly affects utils. As APIs are final for a reason. And some cleanup as well --- https://issues.apache.org/jira/browse/MRESOLVER-542 --- .../main/java/org/eclipse/aether/internal/impl/Utils.java | 1 + .../aether/util/artifact/DefaultArtifactTypeRegistry.java | 5 +++-- .../org/eclipse/aether/util/artifact/DelegatingArtifact.java | 3 +++ .../aether/util/artifact/OverlayArtifactTypeRegistry.java | 4 +++- .../aether/util/artifact/SimpleArtifactTypeRegistry.java | 1 + .../graph/transformer/ChainedDependencyGraphTransformer.java | 1 + .../aether/util/graph/transformer/ConflictIdSorter.java | 1 + .../graph/transformer/NoopDependencyGraphTransformer.java | 1 + .../aether/util/graph/traverser/AndDependencyTraverser.java | 2 ++ .../util/graph/traverser/StaticDependencyTraverser.java | 2 ++ .../eclipse/aether/util/version/GenericVersionScheme.java | 2 +- 11 files changed, 19 insertions(+), 4 deletions(-) diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/Utils.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/Utils.java index 13900cfbc..dbebe6e58 100644 --- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/Utils.java +++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/Utils.java @@ -44,6 +44,7 @@ * Internal utility methods. */ public final class Utils { + private Utils() {} private static PrioritizedComponents sortArtifactDecoratorFactories( RepositorySystemSession session, Map factories) { diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/DefaultArtifactTypeRegistry.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/DefaultArtifactTypeRegistry.java index cc20904f1..6847f36dc 100644 --- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/DefaultArtifactTypeRegistry.java +++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/DefaultArtifactTypeRegistry.java @@ -23,10 +23,10 @@ /** * A simple artifact type registry. */ -public final class DefaultArtifactTypeRegistry extends SimpleArtifactTypeRegistry { +public class DefaultArtifactTypeRegistry extends SimpleArtifactTypeRegistry { /** - * Creates a new artifact type registry with initally no registered artifact types. Use {@link #add(ArtifactType)} + * Creates a new artifact type registry with initially no registered artifact types. Use {@link #add(ArtifactType)} * to populate the registry. */ public DefaultArtifactTypeRegistry() {} @@ -37,6 +37,7 @@ public DefaultArtifactTypeRegistry() {} * @param type The artifact type to add, must not be {@code null}. * @return This registry for chaining, never {@code null}. */ + @Override public DefaultArtifactTypeRegistry add(ArtifactType type) { super.add(type); return this; diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/DelegatingArtifact.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/DelegatingArtifact.java index 256c640d2..f0e52d403 100644 --- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/DelegatingArtifact.java +++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/DelegatingArtifact.java @@ -127,14 +127,17 @@ public Artifact setPath(Path path) { return this; } + @Override public String getProperty(String key, String defaultValue) { return delegate.getProperty(key, defaultValue); } + @Override public Map getProperties() { return delegate.getProperties(); } + @Override public Artifact setProperties(Map properties) { Artifact artifact = delegate.setProperties(properties); if (artifact != delegate) { diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/OverlayArtifactTypeRegistry.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/OverlayArtifactTypeRegistry.java index 99ae3131d..fa02b7f9f 100644 --- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/OverlayArtifactTypeRegistry.java +++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/OverlayArtifactTypeRegistry.java @@ -25,7 +25,7 @@ * An artifact type registry which first consults its own mappings and in case of an unknown type falls back to another * type registry. */ -public final class OverlayArtifactTypeRegistry extends SimpleArtifactTypeRegistry { +public class OverlayArtifactTypeRegistry extends SimpleArtifactTypeRegistry { private final ArtifactTypeRegistry delegate; @@ -45,11 +45,13 @@ public OverlayArtifactTypeRegistry(ArtifactTypeRegistry delegate) { * @param type The artifact type to add, must not be {@code null}. * @return This registry for chaining, never {@code null}. */ + @Override public OverlayArtifactTypeRegistry add(ArtifactType type) { super.add(type); return this; } + @Override public ArtifactType get(String typeId) { ArtifactType type = super.get(typeId); diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/SimpleArtifactTypeRegistry.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/SimpleArtifactTypeRegistry.java index 9d868797b..fcbe9e473 100644 --- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/SimpleArtifactTypeRegistry.java +++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/SimpleArtifactTypeRegistry.java @@ -50,6 +50,7 @@ public SimpleArtifactTypeRegistry add(ArtifactType type) { return this; } + @Override public ArtifactType get(String typeId) { return types.get(typeId); } diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ChainedDependencyGraphTransformer.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ChainedDependencyGraphTransformer.java index c3ef08637..9b6d1878f 100644 --- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ChainedDependencyGraphTransformer.java +++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ChainedDependencyGraphTransformer.java @@ -63,6 +63,7 @@ public static DependencyGraphTransformer newInstance( return new ChainedDependencyGraphTransformer(transformer1, transformer2); } + @Override public DependencyNode transformGraph(DependencyNode node, DependencyGraphTransformationContext context) throws RepositoryException { requireNonNull(node, "node cannot be null"); diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorter.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorter.java index 760077f71..5d13ce8db 100644 --- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorter.java +++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorter.java @@ -48,6 +48,7 @@ */ public final class ConflictIdSorter implements DependencyGraphTransformer { + @Override public DependencyNode transformGraph(DependencyNode node, DependencyGraphTransformationContext context) throws RepositoryException { requireNonNull(node, "node cannot be null"); diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NoopDependencyGraphTransformer.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NoopDependencyGraphTransformer.java index cc63922fc..382538635 100644 --- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NoopDependencyGraphTransformer.java +++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NoopDependencyGraphTransformer.java @@ -41,6 +41,7 @@ public final class NoopDependencyGraphTransformer implements DependencyGraphTran */ public NoopDependencyGraphTransformer() {} + @Override public DependencyNode transformGraph(DependencyNode node, DependencyGraphTransformationContext context) throws RepositoryException { requireNonNull(node, "node cannot be null"); diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java index 58a077ef6..95a85ddb1 100644 --- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java +++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java @@ -92,6 +92,7 @@ public static DependencyTraverser newInstance(DependencyTraverser traverser1, De return new AndDependencyTraverser(traverser1, traverser2); } + @Override public boolean traverseDependency(Dependency dependency) { requireNonNull(dependency, "dependency cannot be null"); for (DependencyTraverser traverser : traversers) { @@ -102,6 +103,7 @@ public boolean traverseDependency(Dependency dependency) { return true; } + @Override public DependencyTraverser deriveChildTraverser(DependencyCollectionContext context) { requireNonNull(context, "context cannot be null"); int seen = 0; diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverser.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverser.java index f15a303a4..900cfd8c7 100644 --- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverser.java +++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverser.java @@ -40,11 +40,13 @@ public StaticDependencyTraverser(boolean traverse) { this.traverse = traverse; } + @Override public boolean traverseDependency(Dependency dependency) { requireNonNull(dependency, "dependency cannot be null"); return traverse; } + @Override public DependencyTraverser deriveChildTraverser(DependencyCollectionContext context) { requireNonNull(context, "context cannot be null"); return this; diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersionScheme.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersionScheme.java index b5ca7133d..9c4a715ff 100644 --- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersionScheme.java +++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersionScheme.java @@ -45,7 +45,7 @@ * respectively, until the kind mismatch is resolved, e.g. "1-alpha" = "1.0.0-alpha" < "1.0.1-ga" = "1.0.1". *

*/ -public final class GenericVersionScheme extends VersionSchemeSupport { +public class GenericVersionScheme extends VersionSchemeSupport { @Override public GenericVersion parseVersion(final String version) throws InvalidVersionSpecificationException { return new GenericVersion(version);