Record Class ActionContext

java.lang.Object
java.lang.Record
com.iantapply.orchestra.api.ActionContext
Record Components:
executionId - unique execution being processed
event - event definition that owns the action
stage - stage containing the action
action - action configuration
server - resolved target server
now - time captured for this invocation
variables - immutable snapshot of execution variables

public record ActionContext(UUID executionId, EventDefinition event, StageDefinition stage, ActionSpec action, String server, Instant now, Map<String,Object> variables) extends Record
Immutable context supplied to an OrchestraAction invocation.
  • Constructor Details

  • Method Details

    • idempotencyKey

      public String idempotencyKey()
      Returns a stable key suitable for deduplicating external side effects.
      Returns:
      execution, stage, action, and server identity joined into one key
    • getString

      public String getString(String key)
      Reads a required action argument as text.
      Parameters:
      key - argument name
      Returns:
      argument value converted to a string
      Throws:
      IllegalArgumentException - when the argument is absent
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • executionId

      public UUID executionId()
      Returns the value of the executionId record component.
      Returns:
      the value of the executionId record component
    • event

      public EventDefinition event()
      Returns the value of the event record component.
      Returns:
      the value of the event record component
    • stage

      public StageDefinition stage()
      Returns the value of the stage record component.
      Returns:
      the value of the stage record component
    • action

      public ActionSpec action()
      Returns the value of the action record component.
      Returns:
      the value of the action record component
    • server

      public String server()
      Returns the value of the server record component.
      Returns:
      the value of the server record component
    • now

      public Instant now()
      Returns the value of the now record component.
      Returns:
      the value of the now record component
    • variables

      public Map<String,Object> variables()
      Returns the value of the variables record component.
      Returns:
      the value of the variables record component