Class StateExecutionLocalsImpl

java.lang.Object
io.iworkflow.core.persistence.StateExecutionLocalsImpl
All Implemented Interfaces:
StateExecutionLocals

public class StateExecutionLocalsImpl extends Object implements StateExecutionLocals
  • Constructor Details

  • Method Details

    • setStateExecutionLocal

      public void setStateExecutionLocal(String key, Object value)
      Description copied from interface: StateExecutionLocals
      set a local attribute. The scope of the attribute is only within the execution of this state. Usually it's for passing from State Start API to State Decide API User code must make sure using the same type for both get and set
      Specified by:
      setStateExecutionLocal in interface StateExecutionLocals
      Parameters:
      key - the key of the stateExecutionLocal(scope of the state execution)
      value - the value
    • getStateExecutionLocal

      public <T> T getStateExecutionLocal(String key, Class<T> type)
      Description copied from interface: StateExecutionLocals
      Retrieve a local state attribute User code must make sure using the same type for both get and set
      Specified by:
      getStateExecutionLocal in interface StateExecutionLocals
      Type Parameters:
      T - the value type
      Parameters:
      key - the key of the stateExecutionLocal(scope of the state execution)
      type - the value type
      Returns:
      the value
    • recordEvent

      public void recordEvent(String key, Object... eventData)
      Description copied from interface: StateExecutionLocals
      Record an arbitrary event in State Start/Decide API for debugging/tracking purpose
      Specified by:
      recordEvent in interface StateExecutionLocals
      Parameters:
      key - the key of the event. Within a Start/Decide API, the same key cannot be used for more than once.
      eventData - the data of the event.
    • getUpsertStateExecutionLocalAttributes

      public List<KeyValue> getUpsertStateExecutionLocalAttributes()
    • getRecordEvents

      public List<KeyValue> getRecordEvents()