Module com.machinezoo.noexception
Interface OptionalDoubleBinaryOperator
-
- 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 OptionalDoubleBinaryOperator
Variation ofDoubleBinaryOperatorthat returnsOptionalDoubleinstead of the raw value.OptionalDoubleBinaryOperatoris typically obtained fromExceptionHandler.fromDoubleBinaryOperator(DoubleBinaryOperator), in which case its return value is empty when the underlyingDoubleBinaryOperatorthrows an exception. See noexception tutorial.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description OptionalDoubleapply(double left, double right)Variation ofDoubleBinaryOperator.applyAsDouble(double, double)that returnsOptionalDouble.default DoubleBinaryOperatororElse(double result)Converts thisOptionalDoubleBinaryOperatorto plainDoubleBinaryOperatorusing default value.default DoubleBinaryOperatororElseGet(DoubleSupplier source)Converts thisOptionalDoubleBinaryOperatorto plainDoubleBinaryOperatorusing fallbackDoubleSupplier.
-
-
-
Method Detail
-
apply
OptionalDouble apply(double left, double right)
Variation ofDoubleBinaryOperator.applyAsDouble(double, double)that returnsOptionalDouble. If thisOptionalDoubleBinaryOperatoris obtained fromExceptionHandler.fromDoubleBinaryOperator(DoubleBinaryOperator), theOptionalDoublewill be empty only if the underlyingDoubleBinaryOperatorthrows. Otherwise the returnedOptionalDoublejust wraps the return value of underlyingDoubleBinaryOperator.- Parameters:
-
left- seeDoubleBinaryOperator.applyAsDouble(double, double) -
right- seeDoubleBinaryOperator.applyAsDouble(double, double) - Returns:
-
OptionalDoubletypically wrapping return value ofDoubleBinaryOperator.applyAsDouble(double, double), or an emptyOptionalDouble(typically signifying an exception) - See Also:
-
ExceptionHandler.fromDoubleBinaryOperator(DoubleBinaryOperator),DoubleBinaryOperator.applyAsDouble(double, double)
-
orElse
default DoubleBinaryOperator orElse(double result)
Converts thisOptionalDoubleBinaryOperatorto plainDoubleBinaryOperatorusing default value. The returnedDoubleBinaryOperatorwill unwrap present value from theOptionalDoubleif possible, or returnresultif theOptionalDoubleis empty.- Parameters:
-
result- default value to return instead of an emptyOptionalDouble - Returns:
-
plain
DoubleBinaryOperatorthat either unwrapsOptionalDoubleor returns default value - See Also:
-
orElseGet(DoubleSupplier),OptionalDouble.orElse(double)
-
orElseGet
default DoubleBinaryOperator orElseGet(DoubleSupplier source)
Converts thisOptionalDoubleBinaryOperatorto plainDoubleBinaryOperatorusing fallbackDoubleSupplier. The returnedDoubleBinaryOperatorwill unwrap present value from theOptionalDoubleif possible, or fall back to callingsourceif theOptionalDoubleis empty.- Parameters:
-
source-DoubleSupplierto query for fallback value whenOptionalDoubleis empty - Returns:
-
plain
DoubleBinaryOperatorthat either unwrapsOptionalDoubleor falls back tosource - See Also:
-
orElse(double),OptionalDouble.orElseGet(DoubleSupplier)
-
-