Package org.eclipse.aether.collection
Interface DependencyGraphTransformer
- All Known Implementing Classes:
ChainedDependencyGraphTransformer
,ConflictIdSorter
,ConflictMarker
,ConflictResolver
,JavaDependencyContextRefiner
,NoopDependencyGraphTransformer
public interface DependencyGraphTransformer
Transforms a given dependency graph.
Note: Implementations must be stateless.
Warning: 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.
-
Method Summary
Modifier and TypeMethodDescriptiontransformGraph
(DependencyNode node, DependencyGraphTransformationContext context) Transforms the dependency graph denoted by the specified root node.
-
Method Details
-
transformGraph
DependencyNode transformGraph(DependencyNode node, DependencyGraphTransformationContext context) throws RepositoryException Transforms the dependency graph denoted by the specified root node. The transformer may directly change the provided input graph or create a new graph, the former is recommended for performance reasons.- Parameters:
node
- The root node of the (possibly cyclic!) graph to transform, must not benull
.context
- The graph transformation context, must not benull
.- Returns:
- The result graph of the transformation, never
null
. - Throws:
RepositoryException
- If the transformation failed.
-