Interface ReplayWorkflow


  • public interface ReplayWorkflow
    Manages event loop, workflow method, an abstraction level over Deterministic Runner to provide a communication interface for the control thread for Start, Signal, Query, etc.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void cancel​(java.lang.String reason)  
      void close()  
      boolean eventLoop()  
      java.util.Optional<io.temporal.api.common.v1.Payloads> getOutput()  
      WorkflowContext getWorkflowContext()  
      void handleSignal​(java.lang.String signalName, java.util.Optional<io.temporal.api.common.v1.Payloads> input, long eventId, io.temporal.api.common.v1.Header header)
      Handle an external signal event.
      void handleUpdate​(java.lang.String updateName, java.util.Optional<io.temporal.api.common.v1.Payloads> input, long eventId, io.temporal.api.common.v1.Header header, UpdateProtocolCallback callbacks)
      Handle an update workflow execution event
      java.util.Optional<io.temporal.api.common.v1.Payloads> query​(io.temporal.api.query.v1.WorkflowQuery query)
      Called after all history is replayed and workflow cannot make any progress if workflow task is a query.
      void start​(io.temporal.api.history.v1.HistoryEvent event, ReplayWorkflowContext context)  
    • Method Detail

      • handleSignal

        void handleSignal​(java.lang.String signalName,
                          java.util.Optional<io.temporal.api.common.v1.Payloads> input,
                          long eventId,
                          io.temporal.api.common.v1.Header header)
        Handle an external signal event.
      • handleUpdate

        void handleUpdate​(java.lang.String updateName,
                          java.util.Optional<io.temporal.api.common.v1.Payloads> input,
                          long eventId,
                          io.temporal.api.common.v1.Header header,
                          UpdateProtocolCallback callbacks)
        Handle an update workflow execution event
      • eventLoop

        boolean eventLoop()
        Returns:
        true if the execution of the workflow method is finished or an exit was explicitly called by it
      • getOutput

        java.util.Optional<io.temporal.api.common.v1.Payloads> getOutput()
        Returns:
        null means no output yet
      • cancel

        void cancel​(java.lang.String reason)
      • close

        void close()
      • query

        java.util.Optional<io.temporal.api.common.v1.Payloads> query​(io.temporal.api.query.v1.WorkflowQuery query)
        Called after all history is replayed and workflow cannot make any progress if workflow task is a query.
        Parameters:
        query - arguments
        Returns:
        query result
      • getWorkflowContext

        WorkflowContext getWorkflowContext()
        Returns:
        the fullest context of the workflow possible