package org.beanfuse.bean.comparators;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
/**
* 组合比较器
*
* @author chaostone
*
*/
public class ChainComparator implements Comparator {
private List comparators;
public int compare(final Object first, final Object second) {
int cmpRs = 0;
for (Iterator iterator = comparators.iterator(); iterator.hasNext();) {
final Comparator com = (Comparator) iterator.next();
cmpRs = com.compare(first, second);
if (0 == cmpRs) {
continue;
} else {
break;
}
}
return cmpRs;
}
public ChainComparator() {
this.comparators = new ArrayList();
}
public ChainComparator(final List comparators) {
super();
this.comparators = comparators;
}
public void addComparator(final Comparator com) {
this.comparators.add(com);
}
public List getComparators() {
return comparators;
}
public void setComparators(final List comparators) {
this.comparators = comparators;
}
}