Class DefaultWorkflowInstanceStatus

java.lang.Object
io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
All Implemented Interfaces:
WorkflowInstanceStatus

public class DefaultWorkflowInstanceStatus extends Object implements WorkflowInstanceStatus
Represents a snapshot of a workflow instance's current state, including metadata.
  • Constructor Details

    • DefaultWorkflowInstanceStatus

      public DefaultWorkflowInstanceStatus(io.dapr.durabletask.OrchestrationMetadata orchestrationMetadata)
      Class constructor.
      Parameters:
      orchestrationMetadata - Durable task orchestration metadata
  • Method Details

    • getName

      public String getName()
      Gets the name of the workflow.
      Specified by:
      getName in interface WorkflowInstanceStatus
      Returns:
      the name of the workflow
    • getInstanceId

      public String getInstanceId()
      Gets the unique ID of the workflow instance.
      Specified by:
      getInstanceId in interface WorkflowInstanceStatus
      Returns:
      the unique ID of the workflow instance
    • getRuntimeStatus

      public WorkflowRuntimeStatus getRuntimeStatus()
      Gets the current runtime status of the workflow instance at the time this object was fetched.
      Specified by:
      getRuntimeStatus in interface WorkflowInstanceStatus
      Returns:
      the current runtime status of the workflow instance at the time this object was fetched
    • getCreatedAt

      public Instant getCreatedAt()
      Gets the workflow instance's creation time in UTC.
      Specified by:
      getCreatedAt in interface WorkflowInstanceStatus
      Returns:
      the workflow instance's creation time in UTC
    • getLastUpdatedAt

      public Instant getLastUpdatedAt()
      Gets the workflow instance's last updated time in UTC.
      Specified by:
      getLastUpdatedAt in interface WorkflowInstanceStatus
      Returns:
      the workflow instance's last updated time in UTC
    • getSerializedInput

      public String getSerializedInput()
      Gets the workflow instance's serialized input, if any, as a string value.
      Specified by:
      getSerializedInput in interface WorkflowInstanceStatus
      Returns:
      the workflow instance's serialized input or null
    • getSerializedOutput

      public String getSerializedOutput()
      Gets the workflow instance's serialized output, if any, as a string value.
      Specified by:
      getSerializedOutput in interface WorkflowInstanceStatus
      Returns:
      the workflow instance's serialized output or null
    • getFailureDetails

      @Nullable public WorkflowFailureDetails getFailureDetails()
      Gets the failure details, if any, for the failed workflow instance.

      This method returns data only if the workflow is in the OrchestrationRuntimeStatus.FAILED state, and only if this instance metadata was fetched with the option to include output data.

      Specified by:
      getFailureDetails in interface WorkflowInstanceStatus
      Returns:
      the failure details of the failed workflow instance or null
    • isRunning

      public boolean isRunning()
      Gets a value indicating whether the workflow instance was running at the time this object was fetched.
      Specified by:
      isRunning in interface WorkflowInstanceStatus
      Returns:
      true if the workflow existed and was in a running state otherwise false
    • isCompleted

      public boolean isCompleted()
      Gets a value indicating whether the workflow instance was completed at the time this object was fetched.

      A workflow instance is considered completed when its runtime status value is WorkflowRuntimeStatus.COMPLETED, WorkflowRuntimeStatus.FAILED, or WorkflowRuntimeStatus.TERMINATED.

      Specified by:
      isCompleted in interface WorkflowInstanceStatus
      Returns:
      true if the workflow was in a terminal state; otherwise false
    • readInputAs

      public <T> T readInputAs(Class<T> type)
      Deserializes the workflow's input into an object of the specified type.

      Deserialization is performed using the DataConverter that was configured on the DurableTaskClient object that created this workflow metadata object.

      Specified by:
      readInputAs in interface WorkflowInstanceStatus
      Type Parameters:
      T - the type to deserialize the input data into
      Parameters:
      type - the class associated with the type to deserialize the input data into
      Returns:
      the deserialized input value
      Throws:
      IllegalStateException - if the metadata was fetched without the option to read inputs and outputs
    • readOutputAs

      public <T> T readOutputAs(Class<T> type)
      Deserializes the workflow's output into an object of the specified type.

      Deserialization is performed using the DataConverter that was configured on the DurableTaskClient object that created this workflow metadata object.

      Specified by:
      readOutputAs in interface WorkflowInstanceStatus
      Type Parameters:
      T - the type to deserialize the output data into
      Parameters:
      type - the class associated with the type to deserialize the output data into
      Returns:
      the deserialized input value
      Throws:
      IllegalStateException - if the metadata was fetched without the option to read inputs and outputs
    • toString

      public String toString()
      Generates a user-friendly string representation of the current metadata object.
      Overrides:
      toString in class Object
      Returns:
      a user-friendly string representation of the current metadata object