Package org.apache.storm.topology

## Interface IStatefulComponent<T extends State>

- All Superinterfaces:
    `IComponent`, `Serializable`
  All Known Subinterfaces:
    `IStatefulBolt<T>`, `IStatefulWindowedBolt<T>`
  All Known Implementing Classes:
    `BaseStatefulBolt`, `BaseStatefulWindowedBolt`, `PersistentWindowedBoltExecutor`, `StatefulWindowedBoltExecutor`, `StatefulWordCounter`

      public interface IStatefulComponent<T extends State>
      extends IComponent

  Common methods for stateful components in the topology.

  A stateful component is one that has state (e.g. the result of some computation in a bolt) and wants the framework to manage its state.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `initState​(T state)` | This method is invoked by the framework with the previously saved state of the component.
    `void` | `preCommit​(long txid)` | This is a hook for the component to perform some actions just before the framework commits its state.
    `void` | `prePrepare​(long txid)` | This is a hook for the component to perform some actions just before the framework prepares its state.
    `void` | `preRollback()` | This is a hook for the component to perform some actions just before the framework rolls back the prepared state.

    - ### Methods inherited from interface org.apache.storm.topology.IComponent

      `declareOutputFields, getComponentConfiguration`

- - ### Method Detail

    - #### initState

          void initState​(T state)

      This method is invoked by the framework with the previously saved state of the component. This is invoked after prepare but before the component starts processing tuples.
      Parameters:
        `state` - the previously saved state of the component.

    - #### preCommit

          void preCommit​(long txid)

      This is a hook for the component to perform some actions just before the framework commits its state.

    - #### prePrepare

          void prePrepare​(long txid)

      This is a hook for the component to perform some actions just before the framework prepares its state.

    - #### preRollback

          void preRollback()

      This is a hook for the component to perform some actions just before the framework rolls back the prepared state.