Copyright (c) 2005, 2015 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation
/******************************************************************************* * Copyright (c) 2005, 2015 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/
package org.eclipse.core.commands.common; import java.util.Comparator; import org.eclipse.core.internal.commands.util.Util;
Comparator for instances of NamedHandleObject for display to an end user. The comparison is based on the name of the instances.
Since:3.2
/** * Comparator for instances of <code>NamedHandleObject</code> for display to * an end user. The comparison is based on the name of the instances. * * @since 3.2 */
@SuppressWarnings("rawtypes") public class NamedHandleObjectComparator implements Comparator {
Compares to instances of NamedHandleObject based on their names. This is useful is they are display to an end user.
Params:
  • left – The first obect to compare; may be null.
  • right – The second object to compare; may be null.
Returns:-1 if left is null and right is not null; 0 if they are both null; 1 if left is not null and right is null. Otherwise, the result of left.compareTo(right).
/** * Compares to instances of NamedHandleObject based on their names. This is * useful is they are display to an end user. * * @param left * The first obect to compare; may be <code>null</code>. * @param right * The second object to compare; may be <code>null</code>. * @return <code>-1</code> if <code>left</code> is <code>null</code> * and <code>right</code> is not <code>null</code>; * <code>0</code> if they are both <code>null</code>; * <code>1</code> if <code>left</code> is not <code>null</code> * and <code>right</code> is <code>null</code>. Otherwise, the * result of <code>left.compareTo(right)</code>. */
@Override public final int compare(final Object left, final Object right) { final NamedHandleObject a = (NamedHandleObject) left; final NamedHandleObject b = (NamedHandleObject) right; String aName = null; try { aName = a.getName(); } catch (final NotDefinedException e) { // Leave aName as null. } String bName = null; try { bName = b.getName(); } catch (final NotDefinedException e) { // Leave bName as null. } return Util.compare(aName, bName); } }