package com.jidesoft.comparator; import com.jidesoft.swing.Prioritized; import java.util.Comparator; /** * <code>Comparator</code> for objects that implements {@link com.jidesoft.swing.Prioritized} * interface. It is a singleton pattern. You use {@link #getInstance()} to get an instance. */ public class PrioritizedObjectComparator implements Comparator<Object> { private static PrioritizedObjectComparator singleton = null; protected PrioritizedObjectComparator() { } /** * Gets an instance of <code>PrioritizedObjectComparator</code>. * * @return an instance Cof <code>PrioritizedObjectComparator</code>. */ public static PrioritizedObjectComparator getInstance() { if (singleton == null) { singleton = new PrioritizedObjectComparator(); } return singleton; } public int compare(Object o1, Object o2) { int p1 = 0; if (o1 instanceof Prioritized) { p1 = ((Prioritized) o1).getPriority(); } int p2 = 0; if (o2 instanceof Prioritized) { p2 = ((Prioritized) o2).getPriority(); } return p1 - p2; } }