You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2016/05/01 12:56:42 UTC
[40/50] [abbrv] maven-aether git commit: Polished/extended API docs
Polished/extended API docs
Project: http://git-wip-us.apache.org/repos/asf/maven-aether/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-aether/commit/6ef4a917
Tree: http://git-wip-us.apache.org/repos/asf/maven-aether/tree/6ef4a917
Diff: http://git-wip-us.apache.org/repos/asf/maven-aether/diff/6ef4a917
Branch: refs/heads/master
Commit: 6ef4a917003f5b68659f8f8dc83405b881a0fe3d
Parents: 570f98b
Author: Benjamin Bentmann <be...@sonatype.com>
Authored: Sun Oct 26 16:17:26 2014 +0100
Committer: Benjamin Bentmann <be...@sonatype.com>
Committed: Sun Oct 26 16:17:26 2014 +0100
----------------------------------------------------------------------
.../aether/DefaultRepositorySystemSession.java | 30 +++++++++++++-------
.../org/eclipse/aether/RepositoryCache.java | 17 ++++++-----
.../java/org/eclipse/aether/SessionData.java | 16 ++++++-----
.../collection/DependencyGraphTransformer.java | 11 +++++--
.../aether/collection/DependencyManager.java | 11 ++++---
.../aether/collection/DependencySelector.java | 11 ++++---
.../aether/collection/DependencyTraverser.java | 11 ++++---
.../aether/collection/VersionFilter.java | 13 +++++----
.../aether/version/VersionConstraint.java | 8 +++---
.../spi/connector/layout/RepositoryLayout.java | 7 +++--
.../graph/transformer/ConflictResolver.java | 26 +++++++++++------
11 files changed, 100 insertions(+), 61 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/6ef4a917/aether-api/src/main/java/org/eclipse/aether/DefaultRepositorySystemSession.java
----------------------------------------------------------------------
diff --git a/aether-api/src/main/java/org/eclipse/aether/DefaultRepositorySystemSession.java b/aether-api/src/main/java/org/eclipse/aether/DefaultRepositorySystemSession.java
index 194a661..363ede6 100644
--- a/aether-api/src/main/java/org/eclipse/aether/DefaultRepositorySystemSession.java
+++ b/aether-api/src/main/java/org/eclipse/aether/DefaultRepositorySystemSession.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2013 Sonatype, Inc.
+ * Copyright (c) 2010, 2014 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -36,10 +36,12 @@ import org.eclipse.aether.resolution.ResolutionErrorPolicy;
import org.eclipse.aether.transfer.TransferListener;
/**
- * A simple repository system session. <em>Note:</em> This class is not thread-safe. It is assumed that the mutators get
- * only called during an initialization phase and that the session itself is not changed when being used by the
- * repository system. It is recommended to call {@link #setReadOnly()} once the session has been fully initialized to
- * prevent accidental manipulation of it afterwards.
+ * A simple repository system session.
+ * <p>
+ * <strong>Note:</strong> This class is not thread-safe. It is assumed that the mutators get only called during an
+ * initialization phase and that the session itself is not changed once initialized and being used by the repository
+ * system. It is recommended to call {@link #setReadOnly()} once the session has been fully initialized to prevent
+ * accidental manipulation of it afterwards.
*/
public final class DefaultRepositorySystemSession
implements RepositorySystemSession
@@ -123,7 +125,9 @@ public final class DefaultRepositorySystemSession
/**
* Creates a shallow copy of the specified session. Actually, the copy is not completely shallow, all maps holding
- * properties are copied as well. In other words, mutating the new session has no effect on the original session.
+ * system/user/config properties are copied as well. In other words, invoking any mutator on the new session itself
+ * has no effect on the original session. Other mutable objects like the session data and cache (if any) are not
+ * copied and will be shared with the original session unless reconfigured.
*
* @param session The session to copy, must not be {@code null}.
*/
@@ -395,6 +399,7 @@ public final class DefaultRepositorySystemSession
/**
* Sets the system properties to use, e.g. for processing of artifact descriptors. System properties are usually
* collected from the runtime environment like {@link System#getProperties()} and environment variables.
+ * <p>
* <em>Note:</em> System properties are of type {@code Map<String, String>} and any key-value pair in the input map
* that doesn't match this type will be silently ignored.
*
@@ -438,8 +443,10 @@ public final class DefaultRepositorySystemSession
/**
* Sets the user properties to use, e.g. for processing of artifact descriptors. User properties are similar to
* system properties but are set on the discretion of the user and hence are considered of higher priority than
- * system properties. <em>Note:</em> User properties are of type {@code Map<String, String>} and any key-value pair
- * in the input map that doesn't match this type will be silently ignored.
+ * system properties in case of conflicts.
+ * <p>
+ * <em>Note:</em> User properties are of type {@code Map<String, String>} and any key-value pair in the input map
+ * that doesn't match this type will be silently ignored.
*
* @param userProperties The user properties, may be {@code null} or empty if none.
* @return This session for chaining, never {@code null}.
@@ -480,9 +487,10 @@ public final class DefaultRepositorySystemSession
/**
* Sets the configuration properties used to tweak internal aspects of the repository system (e.g. thread pooling,
- * connector-specific behavior, etc.) <em>Note:</em> Configuration properties are of type
- * {@code Map<String, Object>} and any key-value pair in the input map that doesn't match this type will be silently
- * ignored.
+ * connector-specific behavior, etc.).
+ * <p>
+ * <em>Note:</em> Configuration properties are of type {@code Map<String, Object>} and any key-value pair in the
+ * input map that doesn't match this type will be silently ignored.
*
* @param configProperties The configuration properties, may be {@code null} or empty if none.
* @return This session for chaining, never {@code null}.
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/6ef4a917/aether-api/src/main/java/org/eclipse/aether/RepositoryCache.java
----------------------------------------------------------------------
diff --git a/aether-api/src/main/java/org/eclipse/aether/RepositoryCache.java b/aether-api/src/main/java/org/eclipse/aether/RepositoryCache.java
index 95dbdfe..7363844 100644
--- a/aether-api/src/main/java/org/eclipse/aether/RepositoryCache.java
+++ b/aether-api/src/main/java/org/eclipse/aether/RepositoryCache.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2012 Sonatype, Inc.
+ * Copyright (c) 2010, 2014 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -23,9 +23,10 @@ public interface RepositoryCache
/**
* Puts the specified data into the cache. It is entirely up to the cache implementation how long this data will be
* kept before being purged, i.e. callers must not make any assumptions about the lifetime of cached data.
- * <strong>Warning:</strong> The cache will directly save the provided reference. If the cached data is mutable,
- * i.e. could be modified after being put into the cache, the caller is responsible for creating a copy of the
- * original data and store the copy in the cache.
+ * <p>
+ * <em>Warning:</em> The cache will directly save the provided reference. If the cached data is mutable, i.e. could
+ * be modified after being put into the cache, the caller is responsible for creating a copy of the original data
+ * and store the copy in the cache.
*
* @param session The repository session during which the cache is accessed, must not be {@code null}.
* @param key The key to use for lookup of the data, must not be {@code null}.
@@ -34,9 +35,11 @@ public interface RepositoryCache
void put( RepositorySystemSession session, Object key, Object data );
/**
- * Gets the specified data from the cache. <strong>Warning:</strong> The cache will directly return the saved
- * reference. If the cached data is to be modified after its retrieval, the caller is responsible to create a copy
- * of the returned data and use this instead of the cache record.
+ * Gets the specified data from the cache.
+ * <p>
+ * <em>Warning:</em> The cache will directly return the saved reference. If the cached data is to be modified after
+ * its retrieval, the caller is responsible to create a copy of the returned data and use this instead of the cache
+ * record.
*
* @param session The repository session during which the cache is accessed, must not be {@code null}.
* @param key The key to use for lookup of the data, must not be {@code null}.
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/6ef4a917/aether-api/src/main/java/org/eclipse/aether/SessionData.java
----------------------------------------------------------------------
diff --git a/aether-api/src/main/java/org/eclipse/aether/SessionData.java b/aether-api/src/main/java/org/eclipse/aether/SessionData.java
index a594d41..92930e7 100644
--- a/aether-api/src/main/java/org/eclipse/aether/SessionData.java
+++ b/aether-api/src/main/java/org/eclipse/aether/SessionData.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2012 Sonatype, Inc.
+ * Copyright (c) 2010, 2014 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -12,10 +12,12 @@ package org.eclipse.aether;
/**
* A container for data that is specific to a repository system session. Both components within the repository system
- * and clients of the system may use this storage to associate arbitrary data with a session. Unlike a cache, this
- * session data is not subject to purging. For this same reason, session data should also not be abused as a cache (i.e.
- * for storing values that can be re-calculated) to avoid memory exhaustion. <strong>Note:</strong> Actual
- * implementations must be thread-safe.
+ * and clients of the system may use this storage to associate arbitrary data with a session.
+ * <p>
+ * Unlike a cache, this session data is not subject to purging. For this same reason, session data should also not be
+ * abused as a cache (i.e. for storing values that can be re-calculated) to avoid memory exhaustion.
+ * <p>
+ * <strong>Note:</strong> Actual implementations must be thread-safe.
*
* @see RepositorySystemSession#getData()
* @noimplement This interface is not intended to be implemented by clients.
@@ -39,8 +41,8 @@ public interface SessionData
* @param key The key under which to store the session data, must not be {@code null}.
* @param oldValue The expected data currently associated with the key, may be {@code null}.
* @param newValue The data to associate with the key, may be {@code null} to remove the mapping.
- * @return {@code true} if the key mapping was updated to the specified value, {@code false} if the current key
- * mapping didn't match the expected value and was not updated.
+ * @return {@code true} if the key mapping was successfully updated from the old value to the new value,
+ * {@code false} if the current key mapping didn't match the expected value and was not updated.
*/
boolean set( Object key, Object oldValue, Object newValue );
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/6ef4a917/aether-api/src/main/java/org/eclipse/aether/collection/DependencyGraphTransformer.java
----------------------------------------------------------------------
diff --git a/aether-api/src/main/java/org/eclipse/aether/collection/DependencyGraphTransformer.java b/aether-api/src/main/java/org/eclipse/aether/collection/DependencyGraphTransformer.java
index 22f9498..b3deebe 100644
--- a/aether-api/src/main/java/org/eclipse/aether/collection/DependencyGraphTransformer.java
+++ b/aether-api/src/main/java/org/eclipse/aether/collection/DependencyGraphTransformer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2012 Sonatype, Inc.
+ * Copyright (c) 2010, 2014 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -14,8 +14,13 @@ import org.eclipse.aether.RepositoryException;
import org.eclipse.aether.graph.DependencyNode;
/**
- * Transforms a given dependency graph. <em>Note:</em> Dependency graphs may contain cycles, as such a graph transformer
- * needs to gracefully handle cyclic graphs, e.g. guard against infinite recursion. Implementations must be stateless.
+ * Transforms a given dependency graph.
+ * <p>
+ * <strong>Note:</strong> Implementations must be stateless.
+ * <p>
+ * <em>Warning:</em> Dependency graphs may generally contain cycles. As such a graph transformer that cannot assume for
+ * sure that cycles have already been eliminated must gracefully handle cyclic graphs, e.g. guard against infinite
+ * recursion.
*
* @see org.eclipse.aether.RepositorySystemSession#getDependencyGraphTransformer()
*/
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/6ef4a917/aether-api/src/main/java/org/eclipse/aether/collection/DependencyManager.java
----------------------------------------------------------------------
diff --git a/aether-api/src/main/java/org/eclipse/aether/collection/DependencyManager.java b/aether-api/src/main/java/org/eclipse/aether/collection/DependencyManager.java
index 3ee6b0e..e214f66 100644
--- a/aether-api/src/main/java/org/eclipse/aether/collection/DependencyManager.java
+++ b/aether-api/src/main/java/org/eclipse/aether/collection/DependencyManager.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2013 Sonatype, Inc.
+ * Copyright (c) 2010, 2014 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -13,9 +13,12 @@ package org.eclipse.aether.collection;
import org.eclipse.aether.graph.Dependency;
/**
- * Applies dependency management to the dependencies of a dependency node. Implementations must be stateless.
- * <em>Note:</em> This hook is called from a hot spot and therefore implementations should pay attention to performance.
- * Among others, implementations should provide a semantic {@link Object#equals(Object) equals()} method.
+ * Applies dependency management to the dependencies of a dependency node.
+ * <p>
+ * <strong>Note:</strong> Implementations must be stateless.
+ * <p>
+ * <em>Warning:</em> This hook is called from a hot spot and therefore implementations should pay attention to
+ * performance. Among others, implementations should provide a semantic {@link Object#equals(Object) equals()} method.
*
* @see org.eclipse.aether.RepositorySystemSession#getDependencyManager()
* @see org.eclipse.aether.RepositorySystem#collectDependencies(org.eclipse.aether.RepositorySystemSession,
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/6ef4a917/aether-api/src/main/java/org/eclipse/aether/collection/DependencySelector.java
----------------------------------------------------------------------
diff --git a/aether-api/src/main/java/org/eclipse/aether/collection/DependencySelector.java b/aether-api/src/main/java/org/eclipse/aether/collection/DependencySelector.java
index a555c2f..de503be 100644
--- a/aether-api/src/main/java/org/eclipse/aether/collection/DependencySelector.java
+++ b/aether-api/src/main/java/org/eclipse/aether/collection/DependencySelector.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2013 Sonatype, Inc.
+ * Copyright (c) 2010, 2014 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -13,9 +13,12 @@ package org.eclipse.aether.collection;
import org.eclipse.aether.graph.Dependency;
/**
- * Decides what dependencies to include in the dependency graph. Implementations must be stateless. <em>Note:</em> This
- * hook is called from a hot spot and therefore implementations should pay attention to performance. Among others,
- * implementations should provide a semantic {@link Object#equals(Object) equals()} method.
+ * Decides what dependencies to include in the dependency graph.
+ * <p>
+ * <strong>Note:</strong> Implementations must be stateless.
+ * <p>
+ * <em>Warning:</em> This hook is called from a hot spot and therefore implementations should pay attention to
+ * performance. Among others, implementations should provide a semantic {@link Object#equals(Object) equals()} method.
*
* @see org.eclipse.aether.RepositorySystemSession#getDependencySelector()
* @see org.eclipse.aether.RepositorySystem#collectDependencies(org.eclipse.aether.RepositorySystemSession,
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/6ef4a917/aether-api/src/main/java/org/eclipse/aether/collection/DependencyTraverser.java
----------------------------------------------------------------------
diff --git a/aether-api/src/main/java/org/eclipse/aether/collection/DependencyTraverser.java b/aether-api/src/main/java/org/eclipse/aether/collection/DependencyTraverser.java
index b237213..8140395 100644
--- a/aether-api/src/main/java/org/eclipse/aether/collection/DependencyTraverser.java
+++ b/aether-api/src/main/java/org/eclipse/aether/collection/DependencyTraverser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2013 Sonatype, Inc.
+ * Copyright (c) 2010, 2014 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -13,9 +13,12 @@ package org.eclipse.aether.collection;
import org.eclipse.aether.graph.Dependency;
/**
- * Decides whether the dependencies of a dependency node should be traversed as well. Implementations must be stateless.
- * <em>Note:</em> This hook is called from a hot spot and therefore implementations should pay attention to performance.
- * Among others, implementations should provide a semantic {@link Object#equals(Object) equals()} method.
+ * Decides whether the dependencies of a dependency node should be traversed as well.
+ * <p>
+ * <strong>Note:</strong> Implementations must be stateless.
+ * <p>
+ * <em>Warning:</em> This hook is called from a hot spot and therefore implementations should pay attention to
+ * performance. Among others, implementations should provide a semantic {@link Object#equals(Object) equals()} method.
*
* @see org.eclipse.aether.RepositorySystemSession#getDependencyTraverser()
* @see org.eclipse.aether.RepositorySystem#collectDependencies(org.eclipse.aether.RepositorySystemSession,
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/6ef4a917/aether-api/src/main/java/org/eclipse/aether/collection/VersionFilter.java
----------------------------------------------------------------------
diff --git a/aether-api/src/main/java/org/eclipse/aether/collection/VersionFilter.java b/aether-api/src/main/java/org/eclipse/aether/collection/VersionFilter.java
index 7d8b7c8..02e7ab3 100644
--- a/aether-api/src/main/java/org/eclipse/aether/collection/VersionFilter.java
+++ b/aether-api/src/main/java/org/eclipse/aether/collection/VersionFilter.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2013 Sonatype, Inc.
+ * Copyright (c) 2013, 2014 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -22,10 +22,13 @@ import org.eclipse.aether.version.Version;
import org.eclipse.aether.version.VersionConstraint;
/**
- * Decides which versions matching a version range should actually be considered for the dependency graph.
- * Implementations must be stateless. <em>Note:</em> This hook is called from a hot spot and therefore implementations
- * should pay attention to performance. Among others, implementations should provide a semantic
- * {@link Object#equals(Object) equals()} method.
+ * Decides which versions matching a version range should actually be considered for the dependency graph. The version
+ * filter is not invoked for dependencies that do not declare a version range but a single version.
+ * <p>
+ * <strong>Note:</strong> Implementations must be stateless.
+ * <p>
+ * <em>Warning:</em> This hook is called from a hot spot and therefore implementations should pay attention to
+ * performance. Among others, implementations should provide a semantic {@link Object#equals(Object) equals()} method.
*
* @see org.eclipse.aether.RepositorySystemSession#getVersionFilter()
* @see org.eclipse.aether.RepositorySystem#collectDependencies(org.eclipse.aether.RepositorySystemSession,
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/6ef4a917/aether-api/src/main/java/org/eclipse/aether/version/VersionConstraint.java
----------------------------------------------------------------------
diff --git a/aether-api/src/main/java/org/eclipse/aether/version/VersionConstraint.java b/aether-api/src/main/java/org/eclipse/aether/version/VersionConstraint.java
index d4f6b52..dcb3b68 100644
--- a/aether-api/src/main/java/org/eclipse/aether/version/VersionConstraint.java
+++ b/aether-api/src/main/java/org/eclipse/aether/version/VersionConstraint.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2011 Sonatype, Inc.
+ * Copyright (c) 2010, 2014 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -11,9 +11,9 @@
package org.eclipse.aether.version;
/**
- * A constraint on versions for a dependency. A constraint can either consist of a version range or a single version. In
- * the first case, the constraint expresses a hard requirement on a version matching the range. In the second case, the
- * constraint expresses a soft requirement on a specific version (i.e. a recommendation).
+ * A constraint on versions for a dependency. A constraint can either consist of a version range (e.g. "[1, ]") or a
+ * single version (e.g. "1.1"). In the first case, the constraint expresses a hard requirement on a version matching the
+ * range. In the second case, the constraint expresses a soft requirement on a specific version (i.e. a recommendation).
*/
public interface VersionConstraint
{
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/6ef4a917/aether-spi/src/main/java/org/eclipse/aether/spi/connector/layout/RepositoryLayout.java
----------------------------------------------------------------------
diff --git a/aether-spi/src/main/java/org/eclipse/aether/spi/connector/layout/RepositoryLayout.java b/aether-spi/src/main/java/org/eclipse/aether/spi/connector/layout/RepositoryLayout.java
index 1594e10..f200714 100644
--- a/aether-spi/src/main/java/org/eclipse/aether/spi/connector/layout/RepositoryLayout.java
+++ b/aether-spi/src/main/java/org/eclipse/aether/spi/connector/layout/RepositoryLayout.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2013 Sonatype, Inc.
+ * Copyright (c) 2013, 2014 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -18,8 +18,9 @@ import org.eclipse.aether.artifact.Artifact;
import org.eclipse.aether.metadata.Metadata;
/**
- * The layout for a remote repository whose artifacts/metadata can be addressed via URIs. Implementations must be
- * stateless.
+ * The layout for a remote repository whose artifacts/metadata can be addressed via URIs.
+ * <p>
+ * <strong>Note:</strong> Implementations must be stateless.
*/
public interface RepositoryLayout
{
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/6ef4a917/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
index 7ce9685..2caebb5 100644
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
+++ b/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2012, 2013 Sonatype, Inc.
+ * Copyright (c) 2012, 2014 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -1144,7 +1144,9 @@ public final class ConflictResolver
* An extension point of {@link ConflictResolver} that determines the winner among conflicting dependencies. The
* winning node (and its children) will be retained in the dependency graph, the other nodes will get removed. The
* version selector does not need to deal with potential scope conflicts, these will be addressed afterwards by the
- * {@link ScopeSelector}. Implementations must be stateless.
+ * {@link ScopeSelector}.
+ * <p>
+ * <strong>Note:</strong> Implementations must be stateless.
*/
public static abstract class VersionSelector
{
@@ -1154,7 +1156,7 @@ public final class ConflictResolver
* this method once per
* {@link ConflictResolver#transformGraph(DependencyNode, DependencyGraphTransformationContext)} invocation to
* allow implementations to prepare any auxiliary data that is needed for their operation. Given that
- * implementations need to be stateless, a new instance needs to be returned to hold such auxiliary data. The
+ * implementations must be stateless, a new instance needs to be returned to hold such auxiliary data. The
* default implementation simply returns the current instance which is appropriate for implementations which do
* not require auxiliary data.
*
@@ -1186,7 +1188,9 @@ public final class ConflictResolver
/**
* An extension point of {@link ConflictResolver} that determines the effective scope of a dependency from a
* potentially conflicting set of {@link ScopeDeriver derived scopes}. The scope selector gets invoked after the
- * {@link VersionSelector} has picked the winning node. Implementations must be stateless.
+ * {@link VersionSelector} has picked the winning node.
+ * <p>
+ * <strong>Note:</strong> Implementations must be stateless.
*/
public static abstract class ScopeSelector
{
@@ -1196,7 +1200,7 @@ public final class ConflictResolver
* this method once per
* {@link ConflictResolver#transformGraph(DependencyNode, DependencyGraphTransformationContext)} invocation to
* allow implementations to prepare any auxiliary data that is needed for their operation. Given that
- * implementations need to be stateless, a new instance needs to be returned to hold such auxiliary data. The
+ * implementations must be stateless, a new instance needs to be returned to hold such auxiliary data. The
* default implementation simply returns the current instance which is appropriate for implementations which do
* not require auxiliary data.
*
@@ -1227,7 +1231,9 @@ public final class ConflictResolver
/**
* An extension point of {@link ConflictResolver} that determines the scope of a dependency in relation to the scope
- * of its parent. Implementations must be stateless.
+ * of its parent.
+ * <p>
+ * <strong>Note:</strong> Implementations must be stateless.
*/
public static abstract class ScopeDeriver
{
@@ -1237,7 +1243,7 @@ public final class ConflictResolver
* this method once per
* {@link ConflictResolver#transformGraph(DependencyNode, DependencyGraphTransformationContext)} invocation to
* allow implementations to prepare any auxiliary data that is needed for their operation. Given that
- * implementations need to be stateless, a new instance needs to be returned to hold such auxiliary data. The
+ * implementations must be stateless, a new instance needs to be returned to hold such auxiliary data. The
* default implementation simply returns the current instance which is appropriate for implementations which do
* not require auxiliary data.
*
@@ -1268,7 +1274,9 @@ public final class ConflictResolver
/**
* An extension point of {@link ConflictResolver} that determines the effective optional flag of a dependency from a
* potentially conflicting set of derived optionalities. The optionality selector gets invoked after the
- * {@link VersionSelector} has picked the winning node. Implementations must be stateless.
+ * {@link VersionSelector} has picked the winning node.
+ * <p>
+ * <strong>Note:</strong> Implementations must be stateless.
*/
public static abstract class OptionalitySelector
{
@@ -1278,7 +1286,7 @@ public final class ConflictResolver
* calls this method once per
* {@link ConflictResolver#transformGraph(DependencyNode, DependencyGraphTransformationContext)} invocation to
* allow implementations to prepare any auxiliary data that is needed for their operation. Given that
- * implementations need to be stateless, a new instance needs to be returned to hold such auxiliary data. The
+ * implementations must be stateless, a new instance needs to be returned to hold such auxiliary data. The
* default implementation simply returns the current instance which is appropriate for implementations which do
* not require auxiliary data.
*