Module com.machinezoo.noexception
Interface OptionalFunction<T,R>
-
- 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 OptionalFunction<T,R> extends Function<T,Optional<R>>
Variation ofFunctionthat returnsOptionalinstead of the raw value.OptionalFunctionis typically obtained fromExceptionHandler.function(Function), in which case its return value is empty when the underlyingFunctionthrows an exception. See noexception tutorial.- See Also:
-
ExceptionHandler.function(Function),Function
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Optional<R>apply(T t)Variation ofFunction.apply(Object)that returnsOptional.default Function<T,R>orElse(R result)Converts thisOptionalFunctionto plainFunctionusing default value.default Function<T,R>orElseGet(Supplier<R> source)
-
-
-
Method Detail
-
apply
Optional<R> apply(T t)
Variation ofFunction.apply(Object)that returnsOptional. If thisOptionalFunctionis obtained fromExceptionHandler.function(Function), theOptionalwill be empty only if the underlyingFunctionthrows. Otherwise the returnedOptionaljust wraps the return value of underlyingFunction(possiblynull).- Specified by:
-
applyin interfaceFunction<T,R> - Parameters:
-
t- seeFunction.apply(Object) - Returns:
-
Optionaltypically wrapping return value ofFunction.apply(Object), or an emptyOptional(typically signifying an exception) - See Also:
-
ExceptionHandler.function(Function),Function.apply(Object)
-
orElse
default Function<T,R> orElse(R result)
Converts thisOptionalFunctionto plainFunctionusing default value. The returnedFunctionwill unwrap present value from theOptionalif possible, or returnresultif theOptionalis empty.- Parameters:
-
result- default value to return instead of an emptyOptional - Returns:
-
plain
Functionthat either unwrapsOptionalor returns default value - See Also:
-
orElseGet(Supplier),Optional.orElse(Object)
-
orElseGet
default Function<T,R> orElseGet(Supplier<R> source)
Converts thisOptionalFunctionto plainFunctionusing fallbackSupplier. The returnedFunctionwill unwrap present value from theOptionalif possible, or fall back to callingsourceif theOptionalis empty.- Parameters:
-
source-Supplierto query for fallback value whenOptionalis empty - Returns:
-
plain
Functionthat either unwrapsOptionalor falls back tosource - See Also:
-
orElse(Object),Optional.orElseGet(Supplier)
-
-