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

  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 Details

  - ### 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 Details

  - ### 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