Class AnnotationAwareOrderComparator

    • Method Detail

      • getPriority

        public Integer getPriority​(Object obj)
        This implementation retrieves an @Priority value, allowing for additional semantics over the regular @Order annotation: typically, selecting one object over another in case of multiple matches but only one object to be returned.
        Overrides:
        getPriority in class OrderComparator
        Parameters:
        obj - the object to check
        Returns:
        the priority value, or null if none
      • 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)
      • sortIfNecessary

        public static void sortIfNecessary​(Object value)
        Sort the given array or List with a default AnnotationAwareOrderComparator, if necessary. Simply skips sorting when given any other value.

        Optimized to skip sorting for lists with size 0 or 1, in order to avoid unnecessary array extraction.

        Parameters:
        value - the array or List to sort
        See Also:
        Arrays.sort(Object[], java.util.Comparator)