Interface StateUpdater<T,S>

All Superinterfaces:
Operation, Serializable

public interface StateUpdater<T,S> extends Operation
Interface for updating state.
  • Method Summary

    Modifier and Type
    Method
    Description
    apply(S state, T value)
    Returns a new state by applying the value on the current state.
    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 Details

    • 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