Class InvertibleComparator<T>
- java.lang.Object
- org.springframework.util.comparator.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 Summary
Constructors Constructor Description InvertibleComparator(Comparator<T> comparator)
Create an InvertibleComparator that sorts ascending by default.InvertibleComparator(Comparator<T> comparator, boolean ascending)
Create an InvertibleComparator that sorts based on the provided order.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compare(T o1, T o2)
boolean
equals(Object obj)
int
hashCode()
void
invertOrder()
Invert the sort order: ascending -> descending or descending -> ascending.boolean
isAscending()
Return the sort order: ascending (true) or descending (false).void
setAscending(boolean ascending)
Specify the sort order: ascending (true) or descending (false).String
toString()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
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 decorateascending
- 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.
equals
public boolean equals(Object obj)
- Specified by:
equals
in interfaceComparator<T>
- Overrides:
equals
in classObject