org.springframework.core.annotation

Class AnnotationAwareOrderComparator

  • All Implemented Interfaces:
    Comparator< Object>

    public class AnnotationAwareOrderComparator
    extends OrderComparator
    Comparator implementation that checks Ordered as well as the Order annotation, with an order value provided by an Ordered instance overriding a statically defined annotation value (if any).
    Since:
    2.0.1
    Author:
    Juergen Hoeller, Oliver Gierke
    See Also:
    Ordered, Order
    • Constructor Detail

      • AnnotationAwareOrderComparator

        public 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 class  OrderComparator
        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)