Module com.machinezoo.noexception
Interface OptionalComparator<T>
-
- Type Parameters:
-
T- seeComparator
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface OptionalComparator<T>
Variation ofComparatorthat returnsOptionalIntinstead of the raw value.OptionalComparatoris typically obtained fromExceptionHandler.comparator(Comparator), in which case its return value is empty when the underlyingComparatorthrows an exception. See noexception tutorial.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description OptionalIntcompare(T left, T right)Variation ofComparator.compare(Object, Object)that returnsOptionalInt.default Comparator<T>orElse(int result)Converts thisOptionalComparatorto plainComparatorusing default value.default Comparator<T>orElseGet(IntSupplier source)
-
-
-
Method Detail
-
compare
OptionalInt compare(T left, T right)
Variation ofComparator.compare(Object, Object)that returnsOptionalInt. If thisOptionalComparatoris obtained fromExceptionHandler.comparator(Comparator), theOptionalIntwill be empty only if the underlyingComparatorthrows. Otherwise the returnedOptionalIntjust wraps the return value of underlyingComparator.- Parameters:
-
left- seeComparator.compare(Object, Object) -
right- seeComparator.compare(Object, Object) - Returns:
-
OptionalInttypically wrapping return value ofComparator.compare(Object, Object), or an emptyOptionalInt(typically signifying an exception) - See Also:
-
ExceptionHandler.comparator(Comparator),Comparator.compare(Object, Object)
-
orElse
default Comparator<T> orElse(int result)
Converts thisOptionalComparatorto plainComparatorusing default value. The returnedComparatorwill unwrap present value from theOptionalIntif possible, or returnresultif theOptionalIntis empty.- Parameters:
-
result- default value to return instead of an emptyOptionalInt - Returns:
-
plain
Comparatorthat either unwrapsOptionalIntor returns default value - See Also:
-
orElseGet(IntSupplier),OptionalInt.orElse(int)
-
orElseGet
default Comparator<T> orElseGet(IntSupplier source)
Converts thisOptionalComparatorto plainComparatorusing fallbackIntSupplier. The returnedComparatorwill unwrap present value from theOptionalIntif possible, or fall back to callingsourceif theOptionalIntis empty.- Parameters:
-
source-IntSupplierto query for fallback value whenOptionalIntis empty - Returns:
-
plain
Comparatorthat either unwrapsOptionalIntor falls back tosource - See Also:
-
orElse(int),OptionalInt.orElseGet(IntSupplier)
-
-