Interface Maybe<T>

All Superinterfaces:
Filter<Maybe,T,Maybe<T>>, HK<Maybe,T,Maybe<T>>
All Known Implementing Classes:
Maybe.None, Maybe.Some

public sealed interface Maybe<T> extends Filter<Maybe,T,Maybe<T>>, HK<Maybe,T,Maybe<T>> permits Maybe.Some<T>, Maybe.None<T>
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static final record 
    None implementation
    static final record 
    Some implementation
  • Method Summary

    Modifier and Type
    Method
    Description
    default Maybe<T>
    filter(java.util.function.Predicate<? super T> predicate)
    Method called when the current data must be filtered using a given predicate.
    <B> Maybe<B>
    flatmap(java.util.function.Function<? super T,Maybe<B>> mapper)
     
    default <B> B
    fold(java.util.function.Function<? super T,B> some, java.util.function.Supplier<B> none)
     
    default boolean
     
    default <B> Maybe<B>
    map(java.util.function.Function<? super T,? extends B> mapper)
     
    static <T> Maybe<T>
     
    onNone(Runnable onNone)
     
    onSome(java.util.function.Consumer<T> onSuccess)
     
    orElse(java.util.function.Supplier<T> t)
     
    default T
    orElse(T t)
     
    static <T> Maybe<T>
    pure(T value)
     
    default Maybe<T>
     
    static <T> Maybe<T>
    some(T value)
     

    Methods inherited from interface org.smallibs.type.HK

    apply
  • Method Details

    • pure

      static <T> Maybe<T> pure(T value)
    • some

      static <T> Maybe<T> some(T value)
    • none

      static <T> Maybe<T> none()
    • self

      default Maybe<T> self()
      Specified by:
      self in interface HK<Maybe,T,Maybe<T>>
    • filter

      default Maybe<T> filter(java.util.function.Predicate<? super T> predicate)
      Description copied from interface: Filter
      Method called when the current data must be filtered using a given predicate.
      Specified by:
      filter in interface Filter<Maybe,T,Maybe<T>>
      Parameters:
      predicate - The filter
      Returns:
      a filtered data
    • map

      default <B> Maybe<B> map(java.util.function.Function<? super T,? extends B> mapper)
    • fold

      default <B> B fold(java.util.function.Function<? super T,B> some, java.util.function.Supplier<B> none)
    • orElse

      default T orElse(T t)
    • hasSome

      default boolean hasSome()
    • onSome

      Maybe<T> onSome(java.util.function.Consumer<T> onSuccess)
    • onNone

      Maybe<T> onNone(Runnable onNone)
    • flatmap

      <B> Maybe<B> flatmap(java.util.function.Function<? super T,Maybe<B>> mapper)
    • orElse

      T orElse(java.util.function.Supplier<T> t)