package jdepend.framework;
import java.util.Comparator;
/**
* The <code>PackageComparator</code> class is a <code>Comparator</code>
* used to compare two <code>JavaPackage</code> instances for order using a
* sorting strategy.
*
* @author <b>Mike Clark</b>
* @author Clarkware Consulting, Inc.
*/
public class PackageComparator implements Comparator {
private PackageComparator byWhat;
private static PackageComparator byName;
static {
byName = new PackageComparator();
}
public static PackageComparator byName() {
return byName;
}
private PackageComparator() {
}
public PackageComparator(PackageComparator byWhat) {
this.byWhat = byWhat;
}
public PackageComparator byWhat() {
return byWhat;
}
public int compare(Object p1, Object p2) {
JavaPackage a = (JavaPackage) p1;
JavaPackage b = (JavaPackage) p2;
if (byWhat() == byName()) {
return a.getName().compareTo(b.getName());
}
return 0;
}
}