Re: TableSorter.java v2.1
"David Segall" <david@nowhere.net> wrote in message
news:tph8525bp7b4u9t0c1qpa5jmfvpq7q2tl1@4ax.com...
"Rhino" <no.offline.contact.please@nospam.com> wrote:
"ouroborus" <ouroborus@softhome.net> wrote in message
news:D4CdnUjdF8LZTc7ZRVn-tg@comcast.com...
As part of another project, I spent some time updating TableSorter.java
so
that it compiles cleanly under Java 1.5. The file can be retrieved from:
http://ouroborus.org/java/
I would appreciate any constructive comments regarding the results.
Well, if you really want to make my day, you could add the ability to sort
on multiple columns.
I haven't looked at the code so I don't know if it qualifies but the
easy way to do this is to use a sorting algorithm that maintains the
existing order on equal keys. The user can then sort on multiple
columns by requesting a sort on each key column from least to most
significant.
I did this for an older project, and I vaguely remember that the basic
design idea was to have a comparator maintained a linked list of other
comparators. The class would delegate to the first element in its list, and
upon ties, go down the list.
<UntestedCode strictnessLevel="off the top of my head">
public class MultiComparator implements Compatator<T> {
private List<Compatator<? super T>> myDelegates = new
LinkedList<Compatator<? super T>>();
/*Put various methods to manipulate the "myDelegates" list here.*/
public int compareTo(T a, T b) {
for(Comparator<? super T> c : myDelegates) {
int returnValue = c.compareTo(a, b);
if (returnValue != 0) {
return returnValue;
}
}
return 0;
}
}
</UntestedCode>
- Oliver