Class TimeSkippingConfig.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<TimeSkippingConfig.Builder>
com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
io.temporal.api.common.v1.TimeSkippingConfig.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, TimeSkippingConfigOrBuilder, Cloneable
Enclosing class:
TimeSkippingConfig

public static final class TimeSkippingConfig.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder> implements TimeSkippingConfigOrBuilder
 The configuration for time skipping of a workflow execution (a chain of runs including retries, cron, continue-as-new).
 When time skipping is enabled, virtual time advances automatically whenever there is no in-flight work.
 In-flight work includes activities, child workflows, Nexus operations, signal/cancel external workflow operations,
 and possibly other features added in the future.
 User timers are not classified as in-flight work and will be skipped over; the virtual clock may also skip to the
 time point of the registered fast forward when there is no in-flight work.
 When time is skipped, a WorkflowExecutionTimeSkippingTransitionedEvent will be
 added to the workflow history to capture the state changes.

 For child workflows, by default, if the parent execution is skipping time, the child execution will also skip time,
 but a parent's fast_forward won't affect its child's execution. A flag is provided to disable propagation of the
 "enabled" flag to child workflows; regardless of that flag, a child workflow inherits the virtual time from the
 parent execution as its start time.
 
Protobuf type temporal.api.common.v1.TimeSkippingConfig
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • getDefaultInstanceForType

      public TimeSkippingConfig getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public TimeSkippingConfig build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public TimeSkippingConfig buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • clone

      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • setField

      public TimeSkippingConfig.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • clearField

      public TimeSkippingConfig.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • clearOneof

      public TimeSkippingConfig.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • setRepeatedField

      public TimeSkippingConfig.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      Specified by:
      setRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • addRepeatedField

      public TimeSkippingConfig.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • mergeFrom

      public TimeSkippingConfig.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<TimeSkippingConfig.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • mergeFrom

      public TimeSkippingConfig.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<TimeSkippingConfig.Builder>
      Throws:
      IOException
    • getEnabled

      public boolean getEnabled()
       Enables or disables time skipping for this workflow execution.
       
      bool enabled = 1;
      Specified by:
      getEnabled in interface TimeSkippingConfigOrBuilder
      Returns:
      The enabled.
    • setEnabled

      public TimeSkippingConfig.Builder setEnabled(boolean value)
       Enables or disables time skipping for this workflow execution.
       
      bool enabled = 1;
      Parameters:
      value - The enabled to set.
      Returns:
      This builder for chaining.
    • clearEnabled

      public TimeSkippingConfig.Builder clearEnabled()
       Enables or disables time skipping for this workflow execution.
       
      bool enabled = 1;
      Returns:
      This builder for chaining.
    • hasFastForward

      public boolean hasFastForward()
       Optionally fast-forward the current workflow execution by this duration ahead of current workflow execution time.
       After the fast-forward completes, time skipping is disabled, and this
       action is recorded in the WorkflowExecutionTimeSkippingTransitionedEvent. It can be re-enabled by
       setting `enabled` to true or setting `fast_forward` again via UpdateWorkflowExecutionOptions.
       The current workflow execution is a chain of runs (retries, cron, continue-as-new);
       child workflows are separate executions, so this fast_forward won't affect them.
      
       For a given workflow execution, only one active fast-forward is allowed at a time.
       If a new fast-forward is set via UpdateWorkflowExecutionOptions before the previous
       one completes, the new one will override the previous one.
       If the fast-forward duration exceeds the remaining execution timeout, time will only
       be fast-forwarded up to the end of the execution.
       
      .google.protobuf.Duration fast_forward = 2;
      Specified by:
      hasFastForward in interface TimeSkippingConfigOrBuilder
      Returns:
      Whether the fastForward field is set.
    • getFastForward

      public com.google.protobuf.Duration getFastForward()
       Optionally fast-forward the current workflow execution by this duration ahead of current workflow execution time.
       After the fast-forward completes, time skipping is disabled, and this
       action is recorded in the WorkflowExecutionTimeSkippingTransitionedEvent. It can be re-enabled by
       setting `enabled` to true or setting `fast_forward` again via UpdateWorkflowExecutionOptions.
       The current workflow execution is a chain of runs (retries, cron, continue-as-new);
       child workflows are separate executions, so this fast_forward won't affect them.
      
       For a given workflow execution, only one active fast-forward is allowed at a time.
       If a new fast-forward is set via UpdateWorkflowExecutionOptions before the previous
       one completes, the new one will override the previous one.
       If the fast-forward duration exceeds the remaining execution timeout, time will only
       be fast-forwarded up to the end of the execution.
       
      .google.protobuf.Duration fast_forward = 2;
      Specified by:
      getFastForward in interface TimeSkippingConfigOrBuilder
      Returns:
      The fastForward.
    • setFastForward

      public TimeSkippingConfig.Builder setFastForward(com.google.protobuf.Duration value)
       Optionally fast-forward the current workflow execution by this duration ahead of current workflow execution time.
       After the fast-forward completes, time skipping is disabled, and this
       action is recorded in the WorkflowExecutionTimeSkippingTransitionedEvent. It can be re-enabled by
       setting `enabled` to true or setting `fast_forward` again via UpdateWorkflowExecutionOptions.
       The current workflow execution is a chain of runs (retries, cron, continue-as-new);
       child workflows are separate executions, so this fast_forward won't affect them.
      
       For a given workflow execution, only one active fast-forward is allowed at a time.
       If a new fast-forward is set via UpdateWorkflowExecutionOptions before the previous
       one completes, the new one will override the previous one.
       If the fast-forward duration exceeds the remaining execution timeout, time will only
       be fast-forwarded up to the end of the execution.
       
      .google.protobuf.Duration fast_forward = 2;
    • setFastForward

      public TimeSkippingConfig.Builder setFastForward(com.google.protobuf.Duration.Builder builderForValue)
       Optionally fast-forward the current workflow execution by this duration ahead of current workflow execution time.
       After the fast-forward completes, time skipping is disabled, and this
       action is recorded in the WorkflowExecutionTimeSkippingTransitionedEvent. It can be re-enabled by
       setting `enabled` to true or setting `fast_forward` again via UpdateWorkflowExecutionOptions.
       The current workflow execution is a chain of runs (retries, cron, continue-as-new);
       child workflows are separate executions, so this fast_forward won't affect them.
      
       For a given workflow execution, only one active fast-forward is allowed at a time.
       If a new fast-forward is set via UpdateWorkflowExecutionOptions before the previous
       one completes, the new one will override the previous one.
       If the fast-forward duration exceeds the remaining execution timeout, time will only
       be fast-forwarded up to the end of the execution.
       
      .google.protobuf.Duration fast_forward = 2;
    • mergeFastForward

      public TimeSkippingConfig.Builder mergeFastForward(com.google.protobuf.Duration value)
       Optionally fast-forward the current workflow execution by this duration ahead of current workflow execution time.
       After the fast-forward completes, time skipping is disabled, and this
       action is recorded in the WorkflowExecutionTimeSkippingTransitionedEvent. It can be re-enabled by
       setting `enabled` to true or setting `fast_forward` again via UpdateWorkflowExecutionOptions.
       The current workflow execution is a chain of runs (retries, cron, continue-as-new);
       child workflows are separate executions, so this fast_forward won't affect them.
      
       For a given workflow execution, only one active fast-forward is allowed at a time.
       If a new fast-forward is set via UpdateWorkflowExecutionOptions before the previous
       one completes, the new one will override the previous one.
       If the fast-forward duration exceeds the remaining execution timeout, time will only
       be fast-forwarded up to the end of the execution.
       
      .google.protobuf.Duration fast_forward = 2;
    • clearFastForward

      public TimeSkippingConfig.Builder clearFastForward()
       Optionally fast-forward the current workflow execution by this duration ahead of current workflow execution time.
       After the fast-forward completes, time skipping is disabled, and this
       action is recorded in the WorkflowExecutionTimeSkippingTransitionedEvent. It can be re-enabled by
       setting `enabled` to true or setting `fast_forward` again via UpdateWorkflowExecutionOptions.
       The current workflow execution is a chain of runs (retries, cron, continue-as-new);
       child workflows are separate executions, so this fast_forward won't affect them.
      
       For a given workflow execution, only one active fast-forward is allowed at a time.
       If a new fast-forward is set via UpdateWorkflowExecutionOptions before the previous
       one completes, the new one will override the previous one.
       If the fast-forward duration exceeds the remaining execution timeout, time will only
       be fast-forwarded up to the end of the execution.
       
      .google.protobuf.Duration fast_forward = 2;
    • getFastForwardBuilder

      public com.google.protobuf.Duration.Builder getFastForwardBuilder()
       Optionally fast-forward the current workflow execution by this duration ahead of current workflow execution time.
       After the fast-forward completes, time skipping is disabled, and this
       action is recorded in the WorkflowExecutionTimeSkippingTransitionedEvent. It can be re-enabled by
       setting `enabled` to true or setting `fast_forward` again via UpdateWorkflowExecutionOptions.
       The current workflow execution is a chain of runs (retries, cron, continue-as-new);
       child workflows are separate executions, so this fast_forward won't affect them.
      
       For a given workflow execution, only one active fast-forward is allowed at a time.
       If a new fast-forward is set via UpdateWorkflowExecutionOptions before the previous
       one completes, the new one will override the previous one.
       If the fast-forward duration exceeds the remaining execution timeout, time will only
       be fast-forwarded up to the end of the execution.
       
      .google.protobuf.Duration fast_forward = 2;
    • getFastForwardOrBuilder

      public com.google.protobuf.DurationOrBuilder getFastForwardOrBuilder()
       Optionally fast-forward the current workflow execution by this duration ahead of current workflow execution time.
       After the fast-forward completes, time skipping is disabled, and this
       action is recorded in the WorkflowExecutionTimeSkippingTransitionedEvent. It can be re-enabled by
       setting `enabled` to true or setting `fast_forward` again via UpdateWorkflowExecutionOptions.
       The current workflow execution is a chain of runs (retries, cron, continue-as-new);
       child workflows are separate executions, so this fast_forward won't affect them.
      
       For a given workflow execution, only one active fast-forward is allowed at a time.
       If a new fast-forward is set via UpdateWorkflowExecutionOptions before the previous
       one completes, the new one will override the previous one.
       If the fast-forward duration exceeds the remaining execution timeout, time will only
       be fast-forwarded up to the end of the execution.
       
      .google.protobuf.Duration fast_forward = 2;
      Specified by:
      getFastForwardOrBuilder in interface TimeSkippingConfigOrBuilder
    • getDisablePropagation

      public boolean getDisablePropagation()
       By default, executions started by another execution (e.g. a child workflow of a parent workflow or
       a schedule with the timeskipping policy enabled), inherit the "enabled" flag and skip time when possible.
       This flag disables that inheritance.
       
      bool disable_propagation = 3;
      Specified by:
      getDisablePropagation in interface TimeSkippingConfigOrBuilder
      Returns:
      The disablePropagation.
    • setDisablePropagation

      public TimeSkippingConfig.Builder setDisablePropagation(boolean value)
       By default, executions started by another execution (e.g. a child workflow of a parent workflow or
       a schedule with the timeskipping policy enabled), inherit the "enabled" flag and skip time when possible.
       This flag disables that inheritance.
       
      bool disable_propagation = 3;
      Parameters:
      value - The disablePropagation to set.
      Returns:
      This builder for chaining.
    • clearDisablePropagation

      public TimeSkippingConfig.Builder clearDisablePropagation()
       By default, executions started by another execution (e.g. a child workflow of a parent workflow or
       a schedule with the timeskipping policy enabled), inherit the "enabled" flag and skip time when possible.
       This flag disables that inheritance.
       
      bool disable_propagation = 3;
      Returns:
      This builder for chaining.
    • setUnknownFields

      public final TimeSkippingConfig.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      setUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • mergeUnknownFields

      public final TimeSkippingConfig.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      mergeUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>