Interface GraphConflictResolver

  • All Known Implementing Classes:
    DefaultGraphConflictResolver

    public interface GraphConflictResolver
    Resolves conflicts in the supplied dependency graph. Different implementations will implement different conflict resolution policies.
    Author:
    Oleg Gusakov
    • Field Detail

      • ROLE

        static final String ROLE
    • Method Detail

      • resolveConflicts

        MetadataGraph resolveConflicts​(MetadataGraph graph,
                                       ArtifactScopeEnum scope)
                                throws GraphConflictResolutionException
        Cleanses the supplied graph by leaving only one directed versioned edge\ between any two nodes, if multiple exists. Uses scope relationships, defined in ArtifactScopeEnum
        Parameters:
        graph - the "dirty" graph to be simplified via conflict resolution
        scope - scope for which the graph should be resolved
        Returns:
        resulting "clean" graph for the specified scope
        Throws:
        GraphConflictResolutionException
        Since:
        3.0