org.springframework.core
Class OrderComparator
- java.lang.Object
-
- org.springframework.core.OrderComparator
-
- All Implemented Interfaces:
- Comparator< Object>
- Direct Known Subclasses:
- AnnotationAwareOrderComparator
public class OrderComparator extends Object implements Comparator<Object>
Comparator
implementation forOrdered
objects, sorting by order value ascending (resp. by priority descending).Non-
Ordered
objects are treated as greatest order values, thus ending up at the end of the list, in arbitrary order (just like same order values ofOrdered
objects).- Since:
- 07.04.2003
- Author:
- Juergen Hoeller
- See Also:
-
Ordered
,Collections.sort(java.util.List, java.util.Comparator)
,Arrays.sort(Object[], java.util.Comparator)
-
Field Summary
Fields Modifier and Type Field and Description static OrderComparator
INSTANCE
Shared default instance of OrderComparator.
Constructor Summary
Constructors Constructor and Description OrderComparator()
Method Summary
Methods Modifier and Type Method and Description int
compare(Object o1, Object o2)
protected int
getOrder(Object obj)
Determine the order value for the given object.static void
sort(List<?> list)
Sort the given List with a default OrderComparator.static void
sort(Object[] array)
Sort the given array with a default OrderComparator.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Comparator
equals
-
Field Detail
INSTANCE
public static final OrderComparator INSTANCE
Shared default instance of OrderComparator.
Method Detail
compare
public int compare(Object o1, Object o2)
- Specified by:
-
compare
in interfaceComparator<Object>
getOrder
protected int getOrder(Object obj)
Determine the order value for the given object.The default implementation checks against the
Ordered
interface. Can be overridden in subclasses.- Parameters:
-
obj
- the object to check - Returns:
-
the order value, or
Ordered.LOWEST_PRECEDENCE
as fallback
sort
public static void sort(List<?> list)
Sort the given List with a default OrderComparator.Optimized to skip sorting for lists with size 0 or 1, in order to avoid unnecessary array extraction.
- Parameters:
-
list
- the List to sort - See Also:
-
Collections.sort(java.util.List, java.util.Comparator)
sort
public static void sort(Object[] array)
Sort the given array with a default OrderComparator.Optimized to skip sorting for lists with size 0 or 1, in order to avoid unnecessary array extraction.
- Parameters:
-
array
- the array to sort - See Also:
-
Arrays.sort(Object[], java.util.Comparator)