1 3 package jodd.util; 4 5 import java.util.ArrayList ; 6 import java.util.Comparator ; 7 import java.io.Serializable ; 8 9 public class MultiComparator implements Comparator , Serializable { 10 11 private ArrayList comparators = new ArrayList (); 12 private Comparator [] comparatorsArray; 13 14 public MultiComparator(Comparator c) { 15 add(c); 16 } 17 18 public void add(Comparator c) { 19 comparators.add(c); 20 makeArray(); 21 } 22 23 private void makeArray() { 24 comparatorsArray = new Comparator [comparators.size()]; 25 for (int i = 0; i < comparators.size(); i++) { 26 comparatorsArray[i] = (Comparator ) comparators.get(i); 27 } 28 } 29 30 public int compare(Object arg0, Object arg1) { 31 for (int i = 0; i < comparatorsArray.length; i++) { 32 Comparator c = comparatorsArray[i]; 33 int result = c.compare(arg0, arg1); 34 if (result != 0) { 35 return result; 36 } 37 } 38 return 0; 39 } 40 } 41 | Popular Tags |