@Override public int compare(final Viewer viewer, final Object e1, final Object e2) { int result = super.compare(viewer, e1, e2); if ((e1 instanceof CabalImplementation) && (e2 instanceof CabalImplementation)) { CabalImplementation left = (CabalImplementation) e1; CabalImplementation right = (CabalImplementation) e2; result = left.getInstallVersion().compareToIgnoreCase(right.getInstallVersion()); } return result; }
@Override public String getColumnText(final Object elem, final int columnIndex) { String result = null; if (elem instanceof CabalImplementation) { CabalImplementation impl = (CabalImplementation) elem; switch (columnIndex) { case 0: { result = impl.getUserIdentifier(); break; } case 1: result = impl.getInstallVersion(); break; case 2: result = impl.getLibraryVersion(); break; case 3: { result = impl.getCabalExecutableName().toOSString(); break; } } } else { result = elem.toString(); } return result; }