package mekhq.gui.sorter; import java.util.Comparator; /** * A comparator for unit status strings * @author Jay Lawson * */ public class UnitStatusSorter implements Comparator<String> { @Override public int compare(String s0, String s1) { //probably easiest to turn into numbers and then sort that way int l0 = getDamageStateIndex(s0); int l1 = getDamageStateIndex(s1); return ((Comparable<Integer>)l0).compareTo(l1); } public static int getDamageStateIndex(String damageState) { int idx = 0; if(damageState.contains("Mothballed")) { idx = 1; } if(damageState.contains("Mothballing")) { idx = 2; } if(damageState.contains("Activating")) { idx = 3; } if(damageState.contains("In Transit")) { idx = 4; } if(damageState.contains("Refitting")) { idx = 5; } if(damageState.contains("Deployed")) { idx = 6; } if(damageState.contains("Salvage")) { idx = 7; } if(damageState.contains("Inoperable")) { idx = 8; } if(damageState.contains("Crippled")) { idx = 9; } if(damageState.contains("Heavy")) { idx = 10; } if(damageState.contains("Moderate")) { idx = 11; } if(damageState.contains("Light")) { idx = 12; } if(damageState.contains("Undamaged")) { idx = 13; } return idx; } }