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