Class ConvertingComparator<S,T>
- java.lang.Object
- org.springframework.core.convert.converter.ConvertingComparator<S,T>
- Type Parameters:
S
- the source typeT
- the target type
- All Implemented Interfaces:
Comparator<S>
public class ConvertingComparator<S,T> extends Object implements Comparator<S>
AComparator
that converts values before they are compared. The specifiedConverter
will be used to convert each value before it passed to the underlyingComparator
.- Since:
- 3.2
- Author:
- Phillip Webb
Constructor Summary
Constructors Constructor Description ConvertingComparator(Comparator<T> comparator, ConversionService conversionService, Class<? extends T> targetType)
Create a newComparableComparator
instance.ConvertingComparator(Comparator<T> comparator, Converter<S,T> converter)
Create a newConvertingComparator
instance.ConvertingComparator(Converter<S,T> converter)
Create a newConvertingComparator
instance.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compare(S o1, S o2)
static <K,V>
ConvertingComparator<Map.Entry<K,V>,K>mapEntryKeys(Comparator<K> comparator)
static <K,V>
ConvertingComparator<Map.Entry<K,V>,V>mapEntryValues(Comparator<V> comparator)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
Constructor Detail
ConvertingComparator
public ConvertingComparator(Converter<S,T> converter)
Create a newConvertingComparator
instance.- Parameters:
converter
- the converter
ConvertingComparator
public ConvertingComparator(Comparator<T> comparator, Converter<S,T> converter)
Create a newConvertingComparator
instance.- Parameters:
comparator
- the underlying comparator used to compare the converted valuesconverter
- the converter
ConvertingComparator
public ConvertingComparator(Comparator<T> comparator, ConversionService conversionService, Class<? extends T> targetType)
Create a newComparableComparator
instance.- Parameters:
comparator
- the underlying comparatorconversionService
- the conversion servicetargetType
- the target type
Method Detail
mapEntryKeys
public static <K,V> ConvertingComparator<Map.Entry<K,V>,K> mapEntryKeys(Comparator<K> comparator)
- Parameters:
comparator
- the underlying comparator used to compare keys- Returns:
- a new
ConvertingComparator
instance
mapEntryValues
public static <K,V> ConvertingComparator<Map.Entry<K,V>,V> mapEntryValues(Comparator<V> comparator)
- Parameters:
comparator
- the underlying comparator used to compare values- Returns:
- a new
ConvertingComparator
instance