Package io.dapr.workflows.client

# Interface WorkflowInstanceStatus

All Known Implementing Classes:
  `DefaultWorkflowInstanceStatus`

public interface WorkflowInstanceStatus
Represents a snapshot of a workflow instance's current state, including metadata.

## Method Summary

Modifier and Type
Method
Description
`Instant`
`getCreatedAt()`
Gets the workflow instance's creation time in UTC.
`WorkflowFailureDetails`
`getFailureDetails()`
Gets the failure details, if any, for the failed workflow instance.
`String`
`getInstanceId()`
Gets the unique ID of the workflow instance.
`Instant`
`getLastUpdatedAt()`
Gets the workflow instance's last updated time in UTC.
`String`
`getName()`
Gets the name of the workflow.
`WorkflowRuntimeStatus`
`getRuntimeStatus()`
Gets the current runtime status of the workflow instance at the time this object was fetched.
`String`
`getSerializedInput()`
Gets the workflow instance's serialized input, if any, as a string value.
`String`
`getSerializedOutput()`
Gets the workflow instance's serialized output, if any, as a string value.
`boolean`
`isCompleted()`
Gets a value indicating whether the workflow instance was completed at the time this object was fetched.
`boolean`
`isRunning()`
Gets a value indicating whether the workflow instance was running at the time this object was fetched.
`<T> T`
`readInputAs(Class<T> type)`
Deserializes the workflow's input into an object of the specified type.
`<T> T`
`readOutputAs(Class<T> type)`
Deserializes the workflow's output into an object of the specified type.

## Method Details

### getName

String getName()
Gets the name of the workflow.

Returns:
  the name of the workflow

### getInstanceId

String getInstanceId()
Gets the unique ID of the workflow instance.

Returns:
  the unique ID of the workflow instance

### getRuntimeStatus

WorkflowRuntimeStatus getRuntimeStatus()
Gets the current runtime status of the workflow instance at the time this object was fetched.

Returns:
  the current runtime status of the workflow instance at the time this object was fetched

### getCreatedAt

Instant getCreatedAt()
Gets the workflow instance's creation time in UTC.

Returns:
  the workflow instance's creation time in UTC

### getLastUpdatedAt

Instant getLastUpdatedAt()
Gets the workflow instance's last updated time in UTC.

Returns:
  the workflow instance's last updated time in UTC

### getSerializedInput

String getSerializedInput()
Gets the workflow instance's serialized input, if any, as a string value.

Returns:
  the workflow instance's serialized input or `null`

### getSerializedOutput

String getSerializedOutput()
Gets the workflow instance's serialized output, if any, as a string value.

Returns:
  the workflow instance's serialized output or `null`

### getFailureDetails

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

This method returns data only if the workflow is in the `WorkflowFailureDetails` failureDetails, and only if this instance metadata was fetched with the option to include output data.

Returns:
  the failure details of the failed workflow instance or `null`

### isRunning

boolean isRunning()
Gets a value indicating whether the workflow instance was running at the time this object was fetched.

Returns:
  `true` if the workflow existed and was in a running state otherwise `false`

### isCompleted

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

Returns:
  `true` if the workflow was in a terminal state; otherwise `false`

### readInputAs

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

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

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

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