Package io.dapr.actors.runtime

# Class ActorStateManager

java.lang.Object
io.dapr.actors.runtime.ActorStateManager

public class ActorStateManager extends Object
Manages state changes of a given Actor instance. All changes are cached in-memory until save() is called.

## Method Summary

Modifier and Type
Method
Description
`<T> reactor.core.publisher.Mono<Void>`
`add(String stateName, T value)`
Adds a given key/value to the Actor's state store's cache.
`void`
`clear()`
Clears all changes not yet saved to state store.
`reactor.core.publisher.Mono<Boolean>`
`contains(String stateName)`
Checks if a given state exists in state store or cache.
`<T> reactor.core.publisher.Mono<T>`
`get(String stateName, TypeRef<T> type)`
Fetches the most recent value for the given state, including cached value.
`<T> reactor.core.publisher.Mono<T>`
`get(String stateName, Class<T> clazz)`
Fetches the most recent value for the given state, including cached value.
`reactor.core.publisher.Mono<Void>`
`remove(String stateName)`
Removes a given state from state store's cache.
`reactor.core.publisher.Mono<Void>`
`save()`
Saves all changes to state store.
`<T> reactor.core.publisher.Mono<Void>`
`set(String stateName, T value)`
Updates a given key/value pair in the state store's cache.

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

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

## Method Details

### add

public <T> reactor.core.publisher.Mono<Void> add(String stateName, T value)
Adds a given key/value to the Actor's state store's cache.

Type Parameters:
  `T` - Type of the object being added.
Parameters:
  `stateName` - Name of the state being added.
  `value` - Value to be added.
Returns:
  Asynchronous void operation.

### get

public <T> reactor.core.publisher.Mono<T> get(String stateName, Class<T> clazz)
Fetches the most recent value for the given state, including cached value.

Type Parameters:
  `T` - Type being fetched.
Parameters:
  `stateName` - Name of the state.
  `clazz` - Class type for the value being fetched.
Returns:
  Asynchronous response with fetched object.

### get

public <T> reactor.core.publisher.Mono<T> get(String stateName, TypeRef<T> type)
Fetches the most recent value for the given state, including cached value.

Type Parameters:
  `T` - Type being fetched.
Parameters:
  `stateName` - Name of the state.
  `type` - Class type for the value being fetched.
Returns:
  Asynchronous response with fetched object.

### set

public <T> reactor.core.publisher.Mono<Void> set(String stateName, T value)
Updates a given key/value pair in the state store's cache.

Type Parameters:
  `T` - Type of the value being set.
Parameters:
  `stateName` - Name of the state being updated.
  `value` - Value to be set for given state.
Returns:
  Asynchronous void result.

### remove

public reactor.core.publisher.Mono<Void> remove(String stateName)
Removes a given state from state store's cache.

Parameters:
  `stateName` - State being stored.
Returns:
  Asynchronous void result.

### contains

public reactor.core.publisher.Mono<Boolean> contains(String stateName)
Checks if a given state exists in state store or cache.

Parameters:
  `stateName` - State being checked.
Returns:
  Asynchronous boolean result indicating whether state is present.

### save

public reactor.core.publisher.Mono<Void> save()
Saves all changes to state store.

Returns:
  Asynchronous void result.

### clear

public void clear()
Clears all changes not yet saved to state store.