Class OrchestrationMetadata

java.lang.Object
io.dapr.durabletask.OrchestrationMetadata

public final class OrchestrationMetadata extends Object
Represents a snapshot of an orchestration instance's current state, including metadata.

Instances of this class are produced by methods in the DurableTaskClient class, such as DurableTaskClient.getInstanceMetadata(java.lang.String, boolean), DurableTaskClient.waitForInstanceStart(java.lang.String, java.time.Duration) and DurableTaskClient.waitForInstanceCompletion(java.lang.String, java.time.Duration, boolean).

  • Method Details

    • getName

      public String getName()
      Gets the name of the orchestration.
      Returns:
      the name of the orchestration
    • getInstanceId

      public String getInstanceId()
      Gets the unique ID of the orchestration instance.
      Returns:
      the unique ID of the orchestration instance
    • getRuntimeStatus

      public OrchestrationRuntimeStatus getRuntimeStatus()
      Gets the current runtime status of the orchestration instance at the time this object was fetched.
      Returns:
      the current runtime status of the orchestration instance at the time this object was fetched
    • getCreatedAt

      public Instant getCreatedAt()
      Gets the orchestration instance's creation time in UTC.
      Returns:
      the orchestration instance's creation time in UTC
    • getLastUpdatedAt

      public Instant getLastUpdatedAt()
      Gets the orchestration instance's last updated time in UTC.
      Returns:
      the orchestration instance's last updated time in UTC
    • getSerializedInput

      public String getSerializedInput()
      Gets the orchestration instance's serialized input, if any, as a string value.
      Returns:
      the orchestration instance's serialized input or null
    • getSerializedOutput

      public String getSerializedOutput()
      Gets the orchestration instance's serialized output, if any, as a string value.
      Returns:
      the orchestration instance's serialized output or null
    • getFailureDetails

      public FailureDetails getFailureDetails()
      Gets the failure details, if any, for the failed orchestration instance.

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

      Returns:
      the failure details of the failed orchestration instance or null
    • isRunning

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

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

      An orchestration instance is considered completed when its runtime status value is OrchestrationRuntimeStatus.COMPLETED, OrchestrationRuntimeStatus.FAILED, or OrchestrationRuntimeStatus.TERMINATED.

      Returns:
      true if the orchestration was in a terminal state; otherwise false
    • readInputAs

      public <T> T readInputAs(Class<T> type)
      Deserializes the orchestration'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 orchestration 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

      public <T> T readOutputAs(Class<T> type)
      Deserializes the orchestration'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 orchestration 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
    • readCustomStatusAs

      public <T> T readCustomStatusAs(Class<T> type)
      Deserializes the orchestration's custom status into an object of the specified type.

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

      Type Parameters:
      T - the type to deserialize the custom status data into
      Parameters:
      type - the class associated with the type to deserialize the custom status data into
      Returns:
      the deserialized input value
      Throws:
      IllegalStateException - if the metadata was fetched without the option to read inputs and outputs
    • isCustomStatusFetched

      public boolean isCustomStatusFetched()
      Returns true if the orchestration has a non-empty custom status value; otherwise false.

      This method will always return false if the metadata was fetched without the option to read inputs and outputs.

      Returns:
      true if the orchestration has a non-empty custom status value; otherwise false
    • 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
    • isInstanceFound

      public boolean isInstanceFound()
      Returns true if an orchestration instance with this ID was found; otherwise false.
      Returns:
      true if an orchestration instance with this ID was found; otherwise false