Bug 158118 Change ViewerSorter.getComparator?
20060920 We have an API class JavaElementSorter that extends ViewerSorter. I can't change that as it would be API breaking but I was hoping that that I could still be used as both a ViewerSorter and a ViewerComparator as ViewerSorter extends ViewerComparator . Internally I changed our code to only use getComparator when comparing elements, to avoid any use of getCollator. The APi is still there, but just for API compability Unfortunatly ViewerSorter reimplements getComparator and replaces it with getCollator. This blocks all accesses to the comparator instance in the ViewerComparator. One possibility I see is: Change ViewerSorter(Collator c) to call super(c), so no overriding of getComparator is required. In our case we would call ViewerSorter(null) and overwrite getComparator and getCollator to lazy create the collator (see other bug).
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerSorter.java
*/
    public ViewerSorter() {
        this(Collator.getInstance());
    }
    /**
     * Creates a new viewer sorter, which uses the given collator
     * to sort strings.
     *
     * @param collator the collator to use to sort strings
     */
    public ViewerSorter(Collator collator) {
        this.collator = collator;
    }
    /**
     * Returns the collator used to sort strings.
     *
     * @return the collator used to sort strings
     */
    public Collator getCollator() {
        return collator;
    }
	
	/* (non-Javadoc)
	 * @see org.eclipse.jface.viewers.ViewerComparator#getComparator()
	 */
	protected Comparator getComparator() {
		return getCollator();
	}
}