package com.revolsys.comparator; import java.util.Arrays; import java.util.Comparator; import java.util.List; public class MultiComparator<T> implements Comparator<T> { private List<Comparator<T>> comparators; public MultiComparator(final Comparator<T>... comparators) { this(Arrays.asList(comparators)); } public MultiComparator(final List<Comparator<T>> comparators) { this.comparators = comparators; } @Override public int compare(final T object1, final T object2) { for (final Comparator<T> comparator : this.comparators) { final int compare = comparator.compare(object1, object2); if (compare != 0) { return compare; } } return 0; } }