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>

- 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 and 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 and 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 and 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, KeyFactory factory)` Provides StateFactory for non transactional.
    `static StateFactory` | `nonTransactional(JedisPoolConfig jedisPoolConfig, Options<Object> opts)` Provides StateFactory for non transactional.
    `static StateFactory` | `nonTransactional(JedisPoolConfig jedisPoolConfig, RedisDataTypeDescription dataTypeDescription)` Provides StateFactory for non transactional.
    `static StateFactory` | `opaque(JedisPoolConfig jedisPoolConfig)` 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.
    `static StateFactory` | `opaque(JedisPoolConfig jedisPoolConfig, RedisDataTypeDescription dataTypeDescription)` 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, KeyFactory factory)` Provides StateFactory for transactional.
    `static StateFactory` | `transactional(JedisPoolConfig jedisPoolConfig, Options<TransactionalValue> opts)` Provides StateFactory for transactional.
    `static StateFactory` | `transactional(JedisPoolConfig jedisPoolConfig, RedisDataTypeDescription dataTypeDescription)` 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

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