org.springframework.core.annotation
Class AnnotationAwareOrderComparator
- java.lang.Object
-
- org.springframework.core.OrderComparator
-
- org.springframework.core.annotation.AnnotationAwareOrderComparator
-
- All Implemented Interfaces:
- Comparator< Object>
public class AnnotationAwareOrderComparator extends OrderComparator
Comparator
implementation that checksOrdered
as well as theOrder
annotation, with an order value provided by anOrdered
instance overriding a statically defined annotation value (if any).
-
Field Summary
Fields Modifier and Type Field and Description static AnnotationAwareOrderComparator
INSTANCE
Shared default instance of AnnotationAwareOrderComparator.
Constructor Summary
Constructors Constructor and Description AnnotationAwareOrderComparator()
Method Summary
Methods Modifier and Type Method and Description 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 AnnotationAwareOrderComparator.static void
sort(Object[] array)
Sort the given array with a default AnnotationAwareOrderComparator.Methods inherited from class org.springframework.core.OrderComparator
compare
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 AnnotationAwareOrderComparator INSTANCE
Shared default instance of AnnotationAwareOrderComparator.
Method Detail
getOrder
protected int getOrder(Object obj)
Description copied from class:OrderComparator
Determine the order value for the given object.The default implementation checks against the
Ordered
interface. Can be overridden in subclasses.- Overrides:
-
getOrder
in classOrderComparator
- 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 AnnotationAwareOrderComparator.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 AnnotationAwareOrderComparator.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)