org.sonatype.aether.util.graph.transformer
Class JavaEffectiveScopeCalculator

java.lang.Object
  extended by org.sonatype.aether.util.graph.transformer.JavaEffectiveScopeCalculator
All Implemented Interfaces:
DependencyGraphTransformer

public class JavaEffectiveScopeCalculator
extends java.lang.Object
implements DependencyGraphTransformer

A dependency graph transformer that handles scope inheritance and conflict resolution among conflicting scopes as seen in Maven 2.x. For a given set of conflicting nodes, a single scope will be chosen and assigned to all of the nodes. This transformer will query the keys TransformationContextKeys.CONFLICT_IDS and TransformationContextKeys.SORTED_CONFLICT_IDS for existing information about conflict ids. In absence of this information, it will automatically invoke the ConflictIdSorter to calculate it.

Author:
Benjamin Bentmann

Constructor Summary
JavaEffectiveScopeCalculator()
           
 
Method Summary
 DependencyNode transformGraph(DependencyNode node, DependencyGraphTransformationContext context)
          Transforms the dependency graph denoted by the specified root node.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavaEffectiveScopeCalculator

public JavaEffectiveScopeCalculator()
Method Detail

transformGraph

public DependencyNode transformGraph(DependencyNode node,
                                     DependencyGraphTransformationContext context)
                              throws RepositoryException
Description copied from interface: DependencyGraphTransformer
Transforms the dependency graph denoted by the specified root node. The transformer may directly change the provided input graph or create a new graph.

Specified by:
transformGraph in interface DependencyGraphTransformer
Parameters:
node - The root node of the 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-2011 Sonatype, Inc.. All Rights Reserved.