org.apache.storm.streams.operations

## Interface StateUpdater<T,S>

- All Superinterfaces:
    Operation, Serializable

      public interface StateUpdater<T,S>
      extends Operation

  Interface for updating state.

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and 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
        `T` - the value type
        `S` - the state type
      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

Copyright © 2021 The Apache Software Foundation. All rights reserved.