Package org.apache.storm.redis.trident.state

## Class RedisMapState<T>

- java.lang.Object
- - org.apache.storm.redis.trident.state.AbstractRedisMapState<T>
  - - org.apache.storm.redis.trident.state.RedisMapState<T>

- Type Parameters:
    `T` - value's type class
  All Implemented Interfaces:
    `IBackingMap<T>`

      public class RedisMapState<T>
      extends AbstractRedisMapState<T>

  IBackingMap implementation for single Redis environment.
  See Also:
    `AbstractRedisMapState`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected static class` | `RedisMapState.Factory` | RedisMapState.Factory provides single Redis environment version of StateFactory.

  - ### Field Summary

    - ### Fields inherited from class org.apache.storm.redis.trident.state.AbstractRedisMapState

      `DEFAULT_SERIALIZERS`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RedisMapState​(redis.clients.jedis.JedisPool jedisPool, Options options, Serializer<T> serializer, KeyFactory keyFactory)` | Constructor.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected KeyFactory` | `getKeyFactory()` | Returns KeyFactory which is used for converting state key -> Redis key.
    `protected Serializer` | `getSerializer()` | Returns Serializer which is used for serializing tuple value and deserializing Redis value.
    `static StateFactory` | `nonTransactional​(JedisPoolConfig jedisPoolConfig)` | Provides StateFactory for non transactional.
    `static StateFactory` | `nonTransactional​(JedisPoolConfig jedisPoolConfig, RedisDataTypeDescription dataTypeDescription)` | Provides StateFactory for non transactional.
    `static StateFactory` | `nonTransactional​(JedisPoolConfig jedisPoolConfig, KeyFactory factory)` | Provides StateFactory for non transactional.
    `static StateFactory` | `nonTransactional​(JedisPoolConfig jedisPoolConfig, Options<Object> opts)` | Provides StateFactory for non transactional.
    `static StateFactory` | `opaque​(JedisPoolConfig jedisPoolConfig)` | Provides StateFactory for opaque transactional.
    `static StateFactory` | `opaque​(JedisPoolConfig jedisPoolConfig, RedisDataTypeDescription dataTypeDescription)` | Provides StateFactory for opaque transactional.
    `static StateFactory` | `opaque​(JedisPoolConfig jedisPoolConfig, KeyFactory factory)` | Provides StateFactory for opaque transactional.
    `static StateFactory` | `opaque​(JedisPoolConfig jedisPoolConfig, Options<OpaqueValue> opts)` | Provides StateFactory for opaque transactional.
    `protected List<String>` | `retrieveValuesFromRedis​(List<String> keys)` | Retrieves values from Redis that each value is corresponding to each key.
    `static StateFactory` | `transactional​(JedisPoolConfig jedisPoolConfig)` | Provides StateFactory for transactional.
    `static StateFactory` | `transactional​(JedisPoolConfig jedisPoolConfig, RedisDataTypeDescription dataTypeDescription)` | Provides StateFactory for transactional.
    `static StateFactory` | `transactional​(JedisPoolConfig jedisPoolConfig, KeyFactory factory)` | Provides StateFactory for transactional.
    `static StateFactory` | `transactional​(JedisPoolConfig jedisPoolConfig, Options<TransactionalValue> opts)` | Provides StateFactory for transactional.
    `protected void` | `updateStatesToRedis​(Map<String,​String> keyValues)` | Updates (key, value) pairs to Redis.

    - ### Methods inherited from class org.apache.storm.redis.trident.state.AbstractRedisMapState

      `multiGet, multiPut`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RedisMapState

          public RedisMapState​(redis.clients.jedis.JedisPool jedisPool,
                               Options options,
                               Serializer<T> serializer,
                               KeyFactory keyFactory)

      Constructor.
      Parameters:
        `jedisPool` - JedisPool
        `options` - options of State
        `serializer` - Serializer
        `keyFactory` - KeyFactory

  - ### Method Detail

    - #### opaque

          public static StateFactory opaque​(JedisPoolConfig jedisPoolConfig)

      Provides StateFactory for opaque transactional.
      Parameters:
        `jedisPoolConfig` - configuration for JedisPool
      Returns:
        StateFactory

    - #### opaque

          public static StateFactory opaque​(JedisPoolConfig jedisPoolConfig,
                                            RedisDataTypeDescription dataTypeDescription)

      Provides StateFactory for opaque transactional.
      Parameters:
        `jedisPoolConfig` - configuration for JedisPool
        `dataTypeDescription` - definition of data type
      Returns:
        StateFactory

    - #### opaque

          public static StateFactory opaque​(JedisPoolConfig jedisPoolConfig,
                                            KeyFactory factory)

      Provides StateFactory for opaque transactional.
      Parameters:
        `jedisPoolConfig` - configuration for JedisPool
        `factory` - key factory
      Returns:
        StateFactory

    - #### opaque

          public static StateFactory opaque​(JedisPoolConfig jedisPoolConfig,
                                            Options<OpaqueValue> opts)

      Provides StateFactory for opaque transactional.
      Parameters:
        `jedisPoolConfig` - configuration for JedisPool
        `opts` - options of State
      Returns:
        StateFactory

    - #### transactional

          public static StateFactory transactional​(JedisPoolConfig jedisPoolConfig)

      Provides StateFactory for transactional.
      Parameters:
        `jedisPoolConfig` - configuration for JedisPool
      Returns:
        StateFactory

    - #### transactional

          public static StateFactory transactional​(JedisPoolConfig jedisPoolConfig,
                                                   RedisDataTypeDescription dataTypeDescription)

      Provides StateFactory for transactional.
      Parameters:
        `jedisPoolConfig` - configuration for JedisPool
        `dataTypeDescription` - definition of data type
      Returns:
        StateFactory

    - #### transactional

          public static StateFactory transactional​(JedisPoolConfig jedisPoolConfig,
                                                   KeyFactory factory)

      Provides StateFactory for transactional.
      Parameters:
        `jedisPoolConfig` - configuration for JedisPool
        `factory` - key factory
      Returns:
        StateFactory

    - #### transactional

          public static StateFactory transactional​(JedisPoolConfig jedisPoolConfig,
                                                   Options<TransactionalValue> opts)

      Provides StateFactory for transactional.
      Parameters:
        `jedisPoolConfig` - configuration for JedisPool
        `opts` - options of State
      Returns:
        StateFactory

    - #### nonTransactional

          public static StateFactory nonTransactional​(JedisPoolConfig jedisPoolConfig)

      Provides StateFactory for non transactional.
      Parameters:
        `jedisPoolConfig` - configuration for JedisPool
      Returns:
        StateFactory

    - #### nonTransactional

          public static StateFactory nonTransactional​(JedisPoolConfig jedisPoolConfig,
                                                      RedisDataTypeDescription dataTypeDescription)

      Provides StateFactory for non transactional.
      Parameters:
        `jedisPoolConfig` - configuration for JedisPool
        `dataTypeDescription` - definition of data type
      Returns:
        StateFactory

    - #### nonTransactional

          public static StateFactory nonTransactional​(JedisPoolConfig jedisPoolConfig,
                                                      KeyFactory factory)

      Provides StateFactory for non transactional.
      Parameters:
        `jedisPoolConfig` - configuration for JedisPool
        `factory` - key factory
      Returns:
        StateFactory

    - #### nonTransactional

          public static StateFactory nonTransactional​(JedisPoolConfig jedisPoolConfig,
                                                      Options<Object> opts)

      Provides StateFactory for non transactional.
      Parameters:
        `jedisPoolConfig` - configuration for JedisPool
        `opts` - options of State
      Returns:
        StateFactory

    - #### getSerializer

          protected Serializer getSerializer()

      Returns Serializer which is used for serializing tuple value and deserializing Redis value.
      Specified by:
        `getSerializer` in class `AbstractRedisMapState<T>`
      Returns:
        serializer

    - #### getKeyFactory

          protected KeyFactory getKeyFactory()

      Returns KeyFactory which is used for converting state key -> Redis key.
      Specified by:
        `getKeyFactory` in class `AbstractRedisMapState<T>`
      Returns:
        key factory

    - #### retrieveValuesFromRedis

          protected List<String> retrieveValuesFromRedis​(List<String> keys)

      Retrieves values from Redis that each value is corresponding to each key.
      Specified by:
        `retrieveValuesFromRedis` in class `AbstractRedisMapState<T>`
      Parameters:
        `keys` - keys having state values
      Returns:
        values which are corresponding to keys

    - #### updateStatesToRedis

          protected void updateStatesToRedis​(Map<String,​String> keyValues)

      Updates (key, value) pairs to Redis.
      Specified by:
        `updateStatesToRedis` in class `AbstractRedisMapState<T>`
      Parameters:
        `keyValues` - (key, value) pairs