Package org.eclipse.aether.collection
Interface DependencyGraphTransformer
- All Known Implementing Classes:
ChainedDependencyGraphTransformer,ClassicConflictResolver,ConflictIdSorter,ConflictMarker,ConflictResolver,JavaDependencyContextRefiner,ManagedDependencyContextRefiner,NoopDependencyGraphTransformer,PathConflictResolver
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.
- See Also:
-
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.
-