package com.constellio.model.utils; import java.util.Comparator; /** * Created by dakota on 2/4/16. */ public class DependencyUtilsParams { private Comparator<?> tieComparator = null; private boolean sortTie = false; private boolean tolerateCyclicDependencies; public <V> Comparator<V> getTieComparator() { return (Comparator<V>) tieComparator; } public boolean isSortTie() { return sortTie; } public boolean isTolerateCyclicDependencies() { return tolerateCyclicDependencies; } public DependencyUtilsParams withToleratedCyclicDepencies() { tolerateCyclicDependencies = true; return this; } public DependencyUtilsParams sortTieUsing(Comparator<?> comparator) { this.tieComparator = comparator; this.sortTie = true; return this; } public DependencyUtilsParams sortUsingDefaultComparator() { this.tieComparator = new Comparator<String>() { @Override public int compare(String o1, String o2) { return o1.compareTo(o2); } }; this.sortTie = true; return this; } }