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)
          Same as sortModuleDescriptors(Collection, SortOptions) but for IvyNodes.
 
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)
Same as sortModuleDescriptors(Collection, SortOptions) but for IvyNodes.

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

sortModuleDescriptors

public java.util.List sortModuleDescriptors(java.util.Collection moduleDescriptors,
                                            SortOptions options)
                                     throws CircularDependencyException
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()