public class OptionalFactory extends Object
Optional
from flags.
See OptionalUtilities
for utility functions for already-instantiated Optional
s.
Modifier and Type | Method and Description |
---|---|
static <T> Optional<T> |
create(boolean flag,
java.util.function.Supplier<T> supplier)
Creates only if a boolean flag is true, otherwise returns
Optional.empty() . |
static <T> Optional<T> |
create(boolean flag,
T value)
Creates only if a boolean flag is true, otherwise returns
Optional.empty() . |
static Optional<String> |
create(String string)
Creates
Optional.empty() for an empty string, or otherwise Optional.of() . |
static <T,E extends Exception> |
createChecked(boolean flag,
CheckedSupplier<T,E> supplier)
Like
create(boolean, T) but accepts a supplier that throws a checked/exception. |
static <T> Optional<T> |
createFlat(boolean flag,
java.util.function.Supplier<Optional<T>> valueIfFlagTrue)
|
public static <T> Optional<T> create(boolean flag, T value)
Optional.empty()
.T
- type of optionalflag
- boolean flag.value
- a value used only if flag
is true.public static <T> Optional<T> create(boolean flag, java.util.function.Supplier<T> supplier)
Optional.empty()
.T
- type of optionalflag
- boolean flag.supplier
- a function to create a value T only called if flag
is true.public static <T,E extends Exception> Optional<T> createChecked(boolean flag, CheckedSupplier<T,E> supplier) throws E extends Exception
create(boolean, T)
but accepts a supplier that throws a checked/exception.T
- type of optionalE
- the checked exceptionflag
- boolean flagsupplier
- a function to create a value T only called if flag
is trueE
- if supplier
throws itE extends Exception
public static Optional<String> create(String string)
Optional.empty()
for an empty string, or otherwise Optional.of()
.string
- the string (possibly empty or null).public static <T> Optional<T> createFlat(boolean flag, java.util.function.Supplier<Optional<T>> valueIfFlagTrue)
T
- type in optional.flag
- iff true an populated optional is returned, otherwise Optional.empty()
.valueIfFlagTrue
- used to generate a positive value.Copyright © 2010–2023 Owen Feehan, ETH Zurich, University of Zurich, Hoffmann-La Roche. All rights reserved.