Interface DependencyGraphTransformer

All Known Implementing Classes:
ChainedDependencyGraphTransformer, ConflictIdSorter, ConflictMarker, ConflictResolver, JavaDependencyContextRefiner, ManagedDependencyContextRefiner, NoopDependencyGraphTransformer

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 Details

    • transformGraph

      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.