/** * (c) 2011, Alejandro Serrano * Released under the terms of the EPL. */ package net.sf.eclipsefp.haskell.browser.views.packages; import net.sf.eclipsefp.haskell.browser.items.HaskellPackage; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerSorter; /** * Sorts packages corresponding to their names and version, * in a case-insensitive way. * @author Alejandro Serrano * */ public class PackagesSorter extends ViewerSorter { @Override public int compare(final Viewer viewer, final Object e1, final Object e2) { if (e1 instanceof PackagesItem && e2 instanceof PackagesItem) { HaskellPackage p1 = ((PackagesItem)e1).getPackage(); HaskellPackage p2 = ((PackagesItem)e2).getPackage(); return p1.getIdentifier().toString().compareToIgnoreCase(p2.getIdentifier().toString()); } else { return 0; } } }