org.springframework.util.comparator
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 and 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
Methods Modifier and Type Method and 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()
-
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.
compare
public int compare(T o1, T o2)
- Specified by:
-
compare
in interfaceComparator<T>
equals
public boolean equals(Object obj)
- Specified by:
-
equals
in interfaceComparator<T>
- Overrides:
-
equals
in classObject