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<ModuleDescriptor> sortModuleDescriptors(java.util.Collection<ModuleDescriptor> moduleDescriptors, SortOptions options)
          Sorts the given ModuleDescriptors from the less dependent to the more dependent.
 java.util.List<IvyNode> sortNodes(java.util.Collection<IvyNode> nodes, SortOptions options)
          Same as sortModuleDescriptors(Collection, SortOptions) but for IvyNode s.
 
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<IvyNode> sortNodes(java.util.Collection<IvyNode> nodes,
                                         SortOptions options)
Same as sortModuleDescriptors(Collection, SortOptions) but for IvyNode s.

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<ModuleDescriptor> sortModuleDescriptors(java.util.Collection<ModuleDescriptor> 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()