Interface StateUpdater<T,​S>

    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      S apply​(S state, T value)
      Returns a new state by applying the value on the current state.
      S init()
      The initial value of the state to start with.
      static <T,​S>
      StateUpdater<T,​S>
      of​(S initialValue, BiFunction<? super S,​? super T,​? extends S> stateUpdateFn)
      A static factory to create a StateUpdater based on an initial value of the state and a state update function.
    • Method Detail

      • of

        static <T,​S> StateUpdater<T,​S> of​(S initialValue,
                                                      BiFunction<? super S,​? super T,​? extends S> stateUpdateFn)
        A static factory to create a StateUpdater based on an initial value of the state and a state update function.
        Parameters:
        initialValue - the intial value of the state
        stateUpdateFn - the state update function
        Returns:
        the StateUpdater
      • init

        S init()
        The initial value of the state to start with.
        Returns:
        the initial value of the state
      • apply

        S apply​(S state,
                T value)
        Returns a new state by applying the value on the current state.
        Parameters:
        state - the current state
        value - the value
        Returns:
        the new state