org.apache.ivy.core.sort
Class SortEngine

java.lang.Object
  extended by org.apache.ivy.core.sort.SortEngine

public class SortEngine
extends java.lang.Object


Constructor Summary
SortEngine(SortEngineSettings settings)
           
 
Method Summary
protected  CircularDependencyStrategy getCircularStrategy()
           
protected  VersionMatcher getVersionMatcher()
           
 java.util.List sortModuleDescriptors(java.util.Collection moduleDescriptors, SortOptions options)
          Sorts the given ModuleDescriptors from the less dependent to the more dependent.
 java.util.List sortNodes(java.util.Collection nodes, SortOptions options)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SortEngine

public SortEngine(SortEngineSettings settings)
Method Detail

sortNodes

public java.util.List sortNodes(java.util.Collection nodes,
                                SortOptions options)

sortModuleDescriptors

public java.util.List sortModuleDescriptors(java.util.Collection moduleDescriptors,
                                            SortOptions options)
Sorts the given ModuleDescriptors from the less dependent to the more dependent. This sort ensures that a ModuleDescriptor is always found in the list before all ModuleDescriptors depending directly on it.

Parameters:
moduleDescriptors - a Collection of ModuleDescriptor to sort
options - Options to use to sort the descriptors.
Returns:
a List of sorted ModuleDescriptors
Throws:
CircularDependencyException - if a circular dependency exists and circular dependency strategy decide to throw an exception

getCircularStrategy

protected CircularDependencyStrategy getCircularStrategy()

getVersionMatcher

protected VersionMatcher getVersionMatcher()