Bug 43873 [Viewers] ViewerSorter need not be abstract
build I20030927 Kim Horne asks: Can ViewerSorter be made concrete? It's perfectly usable as it is as an alphabetical sorter... there doesn't seem to be any reason for it to be abstract. I've attached a patch that'll do it if it's OK. If not...why not? :)
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerSorter.java
* comparing the elements' categories as computed by the <code>category</code>
 * framework method. Elements within the same category are further 
 * subjected to a case insensitive compare of their label strings, either
 * as computed by the content viewer's label provider, or their 
 * <code>toString</code> values in other cases. Subclasses may override.
 * </p>
 * 
 * @param viewer the viewer
 * @param e1 the first element
 * @param e2 the second element
 * @return a negative number if the first element is less  than the 
 *  second element; the value <code>0</code> if the first element is
 *  equal to the second element; and a positive number if the first
 *  element is greater than the second element
 */
public int compare(Viewer viewer, Object e1, Object e2) {
	int cat1 = category(e1);
	int cat2 = category(e2);
	if (cat1 != cat2)
		return cat1 - cat2;
	
	String name1;
	String name2;
	if (viewer == null || !(viewer instanceof ContentViewer)) {
		name1 = e1.toString();
		name2 = e2.toString();
	} else {
		IBaseLabelProvider prov = ((ContentViewer) viewer).getLabelProvider();
		if (prov instanceof ILabelProvider) {
			ILabelProvider lprov = (ILabelProvider) prov;