Class StepBuilder

Object
kalix.javasdk.workflow.StepBuilder

public class StepBuilder extends Object
  • Constructor Details

    • StepBuilder

      public StepBuilder(String name)
  • Method Details

    • step

      public StepBuilder step(String stepName)
    • call

      @ApiMayChange public <Input, DefCallInput, DefCallOutput> StepBuilder.CallStepBuilder<Input,DefCallInput,DefCallOutput> call(Class<Input> callInputClass, Function<Input,DeferredCall<DefCallInput,DefCallOutput>> callFactory)
      Build a step action with a call to an existing Kalix component via DeferredCall.

      The Function passed to this method should return a DeferredCall. The DeferredCall is then executed by Kalix and its result, if successful, is made available to this workflow via the andThen method. In the andThen method, we can use the result to update the workflow state and transition to the next step.

      On failure, the step will be retried according to the default retry strategy or the one defined in the step configuration.

      Type Parameters:
      Input - Input for deferred call factory, provided by transition method.
      DefCallInput - Input for deferred call.
      DefCallOutput - Output of deferred call.
      Parameters:
      callInputClass - Input class for call factory.
      callFactory - Factory method for creating deferred call.
      Returns:
      Step builder.
    • call

      @ApiMayChange public <DefCallInput, DefCallOutput> StepBuilder.CallStepBuilder<Void,DefCallInput,DefCallOutput> call(Supplier<DeferredCall<DefCallInput,DefCallOutput>> callSupplier)
      Build a step action with a call to an existing Kalix component via DeferredCall.

      The Supplier function passed to this method should return a DeferredCall. The DeferredCall is then executed by Kalix and its result, if successful, is made available to this workflow via the andThen method. In the andThen method, we can use the result to update the workflow state and transition to the next step.

      On failure, the step will be retried according to the default retry strategy or the one defined in the step configuration.

      Type Parameters:
      DefCallInput - Input for deferred call.
      DefCallOutput - Output of deferred call.
      Parameters:
      callSupplier - Factory method for creating deferred call.
      Returns:
      Step builder.
    • asyncCall

      @ApiMayChange public <Input, Output> StepBuilder.AsyncCallStepBuilder<Input,Output> asyncCall(Class<Input> callInputClass, Function<Input,CompletionStage<Output>> callFactory)
      Build a step action with an async call.

      The Function passed to this method should return a CompletionStage. On successful completion, its result is made available to this workflow via the andThen method. In the andThen method, we can use the result to update the workflow state and transition to the next step.

      On failure, the step will be retried according to the default retry strategy or the one defined in the step configuration.

      Type Parameters:
      Input - Input for async call factory, provided by transition method.
      Output - Output of async call.
      Parameters:
      callInputClass - Input class for call factory.
      callFactory - Factory method for creating async call.
      Returns:
      Step builder.
    • asyncCall

      @ApiMayChange public <Output> StepBuilder.AsyncCallStepBuilder<Void,Output> asyncCall(Supplier<CompletionStage<Output>> callSupplier)
      Build a step action with an async call.

      The Supplier function passed to this method should return a CompletionStage. On successful completion, its result is made available to this workflow via the andThen method. In the andThen method, we can use the result to update the workflow state and transition to the next step.

      On failure, the step will be retried according to the default retry strategy or the one defined in the step configuration.

      Type Parameters:
      Output - Output of async call.
      Parameters:
      callSupplier - Factory method for creating async call.
      Returns:
      Step builder.