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.

  See Also:
    `RepositorySystemSession.getDependencyGraphTransformer()`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `DependencyNode` | `transformGraph(DependencyNode node, DependencyGraphTransformationContext context)` Transforms the dependency graph denoted by the specified root node.

- - ### Method Detail

    - #### 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 be `null`.
        `context` - The graph transformation context, must not be `null`.
      Returns:
        The result graph of the transformation, never `null`.
      Throws:
        `RepositoryException` - If the transformation failed.

Copyright © 2010-2014 The Eclipse Foundation. All Rights Reserved.