Package uk.ac.manchester.spinnaker.utils
Class OptionalUtils
java.lang.Object
uk.ac.manchester.spinnaker.utils.OptionalUtils
Extra utilities for working with 
Optional in Java 8.- Author:
- Donal Fellows
- 
Method SummaryModifier and TypeMethodDescriptionstatic <T> Optional<T>How to apply a sequence of modification transforms to a value in an optional if there is a value there at all.static <T,U> U How to do one thing if an optional is present, and another if it is absent.static <T,U> Optional<U> ifElseFlat(Optional<T> source, Function<T, U> ifPresent, Supplier<U> ifAbsent) How to do one thing if an optional is present, and another if it is absent.
- 
Method Details- 
applyHow to apply a sequence of modification transforms to a value in an optional if there is a value there at all.- Type Parameters:
- T- The type of value in the optional.
- Parameters:
- source- Where to get the value from.
- actions- The transformations to apply to the value in the optional if it exists; these are expected to modify that object.
- Returns:
- The original optional.
 
- 
ifElseHow to do one thing if an optional is present, and another if it is absent.- Type Parameters:
- T- The type of value in the optional.
- U- The type of the result.
- Parameters:
- source- Where to get the value from.
- ifPresent- What to do if the value is available.
- ifAbsent- What to do if the value is not available.
- Returns:
- The result, depending on which arm was taken.
 
- 
ifElseFlatpublic static <T,U> Optional<U> ifElseFlat(Optional<T> source, Function<T, U> ifPresent, Supplier<U> ifAbsent) How to do one thing if an optional is present, and another if it is absent.- Type Parameters:
- T- The type of value in the optional.
- U- The type of the result.
- Parameters:
- source- Where to get the value from.
- ifPresent- What to do if the value is available.
- ifAbsent- What to do if the value is not available.
- Returns:
- The result, depending on which arm was taken.
 
 
-