Class OptionalUtil

java.lang.Object
com.yubico.internal.util.OptionalUtil

public final class OptionalUtil extends Object
Utilities for working with Optional values.
  • Method Details

    • orOptional

      public static <T> Optional<T> orOptional(Optional<T> primary, Optional<T> secondary)
      If primary is present, return it unchanged. Otherwise return secondary.
    • orElseOptional

      public static <T> Optional<T> orElseOptional(Optional<T> primary, Supplier<Optional<T>> recover)
      If primary is present, return it unchanged. Otherwise return the result of recover.
    • stream

      public static <T> Stream<T> stream(@NonNull @NonNull Optional<T> o)
      Returns a sequential Stream with this Optional as its source.
      Parameters:
      o - the Optional to interpret as a Stream
      Returns:
      a sequential Stream containing the value of this Optional if present, otherwise an empty Stream.
    • zipWith

      public static <T> Optional<T> zipWith(Optional<T> a, Optional<T> b, BinaryOperator<T> f)
      If both a and b are present, return f(a, b).

      If only a is present, return a.

      Otherwise, return b.