package mekhq.gui.sorter;
import java.util.Comparator;
/**
* A comparator for target numbers written as strings
* @author Jay Lawson
*
*/
public class TargetSorter implements Comparator<String> {
@Override
public int compare(String s0, String s1) {
s0 = s0.replaceAll("\\+", "");
s1 = s1.replaceAll("\\+", "");
int r0 = 0;
int r1 = 0;
if(s0.equals("Impossible")) {
r0 = Integer.MAX_VALUE;
}
else if(s0.equals("Automatic Failure")) {
r0 = Integer.MAX_VALUE-1;
}
else if(s0.equals("Automatic Success")) {
r0 = Integer.MIN_VALUE;
} else {
r0 = Integer.parseInt(s0);
}
if(s1.equals("Impossible")) {
r1 = Integer.MAX_VALUE;
}
else if(s1.equals("Automatic Failure")) {
r1 = Integer.MAX_VALUE-1;
}
else if(s1.equals("Automatic Success")) {
r1 = Integer.MIN_VALUE;
} else {
r1 = Integer.parseInt(s1);
}
return ((Comparable<Integer>)r0).compareTo(r1);
}
}