Package de.xima.fc.utils
Class XComparisonUtils
- java.lang.Object
-
- de.xima.fc.utils.XComparisonUtils
-
public class XComparisonUtils extends Object
Utilities forComparator
andComparable
.- Since:
- 2.1.0
- Author:
- XIMA MEDIA GmbH
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> Comparator<T[]>
comparingArray(Comparator<T> itemComparator)
Creates a comparator that compares arrays by comparing their items in order.static <T> Comparator<T>
comparingInStages(Comparator<T>... stages)
Creates a comparator that compares items in stages.static <T extends Comparable<T>>
TconstrainToRange(T value, T min, T max)
Constrains a comparable value to a range.static <T extends Comparable<T>>
TconstrainToRange(T value, T min, T max, T defaultValue)
Constrains a comparable value to a range.
-
-
-
Method Detail
-
comparingInStages
@SafeVarargs public static <T> Comparator<T> comparingInStages(Comparator<T>... stages)
Creates a comparator that compares items in stages. Compared to building the comparator viaComparator.thenComparing(Comparator)
, this method better support type parameter inference.- Type Parameters:
T
- Type of the items.- Parameters:
stages
- Stages by which to compare.- Returns:
- A comparator that compares first by the first comparator, then by the second comparator if they are equal, then by the third comparator etc.
-
comparingArray
public static <T> Comparator<T[]> comparingArray(Comparator<T> itemComparator)
Creates a comparator that compares arrays by comparing their items in order. Starts by comparing the first items of each array, and returns that result if the two items are different. If the two items are equal, it compares the second items of each array, and returns that result if the two items are different. If equal, it proceeds with the third items, and so on. If the arrays are of different lengths, the shorter array is considered less than the longer array. A null array is treated as an empty array. The behavior of null items is determined by the provided item comparator.- Type Parameters:
T
- Type of the items.- Parameters:
itemComparator
- Comparator for the items.- Returns:
- A comparator that compares arrays by comparing their items in order.
-
constrainToRange
public static <T extends Comparable<T>> T constrainToRange(T value, T min, T max)
Constrains a comparable value to a range.- Type Parameters:
T
- Type of the value.- Parameters:
value
- Value to constrain.min
- Minimum value.max
- Maximum value.- Returns:
- The value if it is within the range, the minimum value if it is below the range, the maximum value if it is above the range.
-
constrainToRange
public static <T extends Comparable<T>> T constrainToRange(T value, T min, T max, T defaultValue)
Constrains a comparable value to a range.- Type Parameters:
T
- Type of the value.- Parameters:
value
- Value to constrain.min
- Minimum value.max
- Maximum value.defaultValue
- Default value if the value is null.- Returns:
- The value if it is within the range, the minimum value if it is below the range, the maximum value if it is above the range, and the default value if the value is null.
-
-