Class OrchestrationMetadata
- java.lang.Object
-
- com.microsoft.durabletask.OrchestrationMetadata
-
public final class OrchestrationMetadata extends java.lang.ObjectRepresents a snapshot of an orchestration instance's current state, including metadata.Instances of this class are produced by methods in the
DurableTaskClientclass, such asDurableTaskClient.getInstanceMetadata(java.lang.String, boolean),DurableTaskClient.waitForInstanceStart(java.lang.String, java.time.Duration)andDurableTaskClient.waitForInstanceCompletion(java.lang.String, java.time.Duration, boolean)
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.time.InstantgetCreatedAt()Gets the orchestration instance's creation time in UTC.FailureDetailsgetFailureDetails()Gets the failure details, if any, for the failed orchestration instance.java.lang.StringgetInstanceId()Gets the unique ID of the orchestration instance.java.time.InstantgetLastUpdatedAt()Gets the orchestration instance's last updated time in UTC.java.lang.StringgetName()Gets the name of the orchestration.OrchestrationRuntimeStatusgetRuntimeStatus()Gets the current runtime status of the orchestration instance at the time this object was fetched.java.lang.StringgetSerializedInput()Gets the orchestration instance's serialized input, if any, as a string value.java.lang.StringgetSerializedOutput()Gets the orchestration instance's serialized output, if any, as a string value.booleanisCompleted()Gets a value indicating whether the orchestration instance was completed at the time this object was fetched.booleanisCustomStatusFetched()Returnstrueif the orchestration has a non-empty custom status value; otherwisefalse.booleanisInstanceFound()Returnstrueif an orchestration instance with this ID was found; otherwisefalse.booleanisRunning()Gets a value indicating whether the orchestration instance was running at the time this object was fetched.<T> TreadCustomStatusAs(java.lang.Class<T> type)Deserializes the orchestration's custom status into an object of the specified type.<T> TreadInputAs(java.lang.Class<T> type)Deserializes the orchestration's input into an object of the specified type.<T> TreadOutputAs(java.lang.Class<T> type)Deserializes the orchestration's output into an object of the specified type.java.lang.StringtoString()Generates a user-friendly string representation of the current metadata object.
-
-
-
Method Detail
-
getName
public java.lang.String getName()
Gets the name of the orchestration.- Returns:
- the name of the orchestration
-
getInstanceId
public java.lang.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 java.time.Instant getCreatedAt()
Gets the orchestration instance's creation time in UTC.- Returns:
- the orchestration instance's creation time in UTC
-
getLastUpdatedAt
public java.time.Instant getLastUpdatedAt()
Gets the orchestration instance's last updated time in UTC.- Returns:
- the orchestration instance's last updated time in UTC
-
getSerializedInput
public java.lang.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 java.lang.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.FAILEDstate, 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:
trueif the orchestration existed and was in a running state; otherwisefalse
-
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, orOrchestrationRuntimeStatus.TERMINATED.- Returns:
trueif the orchestration was in a terminal state; otherwisefalse
-
readInputAs
public <T> T readInputAs(java.lang.Class<T> type)
Deserializes the orchestration's input into an object of the specified type.Deserialization is performed using the
DataConverterthat was configured on theDurableTaskClientobject 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:
java.lang.IllegalStateException- if the metadata was fetched without the option to read inputs and outputs
-
readOutputAs
public <T> T readOutputAs(java.lang.Class<T> type)
Deserializes the orchestration's output into an object of the specified type.Deserialization is performed using the
DataConverterthat was configured on theDurableTaskClientobject 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:
java.lang.IllegalStateException- if the metadata was fetched without the option to read inputs and outputs
-
readCustomStatusAs
public <T> T readCustomStatusAs(java.lang.Class<T> type)
Deserializes the orchestration's custom status into an object of the specified type.Deserialization is performed using the
DataConverterthat was configured on theDurableTaskClientobject 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:
java.lang.IllegalStateException- if the metadata was fetched without the option to read inputs and outputs
-
isCustomStatusFetched
public boolean isCustomStatusFetched()
Returnstrueif the orchestration has a non-empty custom status value; otherwisefalse.This method will always return
falseif the metadata was fetched without the option to read inputs and outputs- Returns:
trueif the orchestration has a non-empty custom status value; otherwisefalse
-
toString
public java.lang.String toString()
Generates a user-friendly string representation of the current metadata object.- Overrides:
toStringin classjava.lang.Object- Returns:
- a user-friendly string representation of the current metadata object
-
isInstanceFound
public boolean isInstanceFound()
Returnstrueif an orchestration instance with this ID was found; otherwisefalse.- Returns:
trueif an orchestration instance with this ID was found; otherwisefalse
-
-