org.springframework.util.comparator

Class InvertibleComparator<T>

  • All Implemented Interfaces:
    Serializable, Comparator<T>

    public class InvertibleComparator<T>
    extends Object
    implements Comparator<T>, Serializable
    A decorator for a comparator, with an "ascending" flag denoting whether comparison results should be treated in forward (standard ascending) order or flipped for reverse (descending) order.
    Since:
    1.2.2
    Author:
    Keith Donald, Juergen Hoeller
    See Also:
    Serialized Form
    • Constructor Detail

      • InvertibleComparator

        public InvertibleComparator(Comparator<T> comparator)
        Create an InvertibleComparator that sorts ascending by default. For the actual comparison, the specified Comparator will be used.
        Parameters:
        comparator - the comparator to decorate
      • InvertibleComparator

        public InvertibleComparator(Comparator<T> comparator,
                            boolean ascending)
        Create an InvertibleComparator that sorts based on the provided order. For the actual comparison, the specified Comparator will be used.
        Parameters:
        comparator - the comparator to decorate
        ascending - the sort order: ascending (true) or descending (false)
    • Method Detail

      • setAscending

        public void setAscending(boolean ascending)
        Specify the sort order: ascending (true) or descending (false).
      • isAscending

        public boolean isAscending()
        Return the sort order: ascending (true) or descending (false).
      • invertOrder

        public void invertOrder()
        Invert the sort order: ascending -> descending or descending -> ascending.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class  Object