## Uses of Interface
org.apache.storm.state.State

- Packages that use State
  Package | Description
  --- | ---
  org.apache.storm.redis.state |
  org.apache.storm.state |
  org.apache.storm.topology |
  org.apache.storm.topology.base |

- - ### Uses of State in org.apache.storm.redis.state

    Classes in org.apache.storm.redis.state that implement State
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `RedisKeyValueState<K,​V>` | A redis based implementation that persists the state in Redis.

    Methods in org.apache.storm.redis.state that return State
    Modifier and Type | Method | Description
    --- | --- | ---
    `State` | RedisKeyValueStateProvider.`newState​(String namespace, Map<String,​Object> topoConf, TopologyContext context)` |

  - ### Uses of State in org.apache.storm.state

    Subinterfaces of State in org.apache.storm.state
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `KeyValueState<K,​V>` | A state that supports key-value mappings.

    Classes in org.apache.storm.state that implement State
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `InMemoryKeyValueState<K,​V>` | An in-memory implementation of the `State`.

    Methods in org.apache.storm.state that return State
    Modifier and Type | Method | Description
    --- | --- | ---
    `static State` | StateFactory.`getState​(String namespace, Map<String,​Object> topoConf, TopologyContext context)` | Returns a new state instance using the `Config.TOPOLOGY_STATE_PROVIDER` or a `InMemoryKeyValueState` if no provider is configured.
    `State` | InMemoryKeyValueStateProvider.`newState​(String namespace, Map<String,​Object> topoConf, TopologyContext context)` |
    `State` | StateProvider.`newState​(String namespace, Map<String,​Object> topoConf, TopologyContext context)` | Returns a new state instance.

  - ### Uses of State in org.apache.storm.topology

    Classes in org.apache.storm.topology with type parameters of type State
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `IStatefulBolt<T extends State>` | A bolt abstraction for supporting stateful computation.
    `interface` | `IStatefulComponent<T extends State>` | Common methods for stateful components in the topology.
    `interface` | `IStatefulWindowedBolt<T extends State>` | A windowed bolt abstraction for supporting windowing operation with state.
    `class` | `PersistentWindowedBoltExecutor<T extends State>` | Wraps a `IStatefulWindowedBolt` and handles the execution.
    `class` | `StatefulBoltExecutor<T extends State>` | Wraps a `IStatefulBolt` and manages the state of the bolt.
    `class` | `StatefulWindowedBoltExecutor<T extends State>` | Wraps a `IStatefulWindowedBolt` and handles the execution.

    Methods in org.apache.storm.topology with type parameters of type State
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T extends State> BoltDeclarer` | TopologyBuilder.`setBolt​(String id, IStatefulBolt<T> bolt)` | Define a new bolt in this topology.
    `<T extends State> BoltDeclarer` | TopologyBuilder.`setBolt​(String id, IStatefulBolt<T> bolt, Number parallelismHint)` | Define a new bolt in this topology.
    `<T extends State> BoltDeclarer` | TopologyBuilder.`setBolt​(String id, IStatefulWindowedBolt<T> bolt)` | Define a new bolt in this topology.
    `<T extends State> BoltDeclarer` | TopologyBuilder.`setBolt​(String id, IStatefulWindowedBolt<T> bolt, Number parallelismHint)` | Define a new bolt in this topology.

  - ### Uses of State in org.apache.storm.topology.base

    Classes in org.apache.storm.topology.base with type parameters of type State
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BaseStatefulBolt<T extends State>` |
    `class` | `BaseStatefulWindowedBolt<T extends State>` |