Package org.flowable.engine.runtime

# Interface ProcessInstanceStartEventSubscriptionModificationBuilder

public interface ProcessInstanceStartEventSubscriptionModificationBuilder
A builder API to modify a manually created process start event subscription which was created and registered using the
invalid reference

    RuntimeService#createProcessStartEventSubscriptionBuilder()

builder API. With this API you can modify one or more such subscriptions like migrating to a specific version of a process definition (if you choose to not automatically migrate then to the latest version upon deployment of a new version).

Author:
  Micha Kiener

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ProcessInstanceStartEventSubscriptionModificationBuilder`
  `addCorrelationParameterValue(String parameterName, Object parameterValue)`
  Adds a specific correlation parameter value for the subscription to be modified.
  `ProcessInstanceStartEventSubscriptionModificationBuilder`
  `addCorrelationParameterValues(Map<String,Object> parameters)`
  Registers a list of correlation parameter values for the subscription(s) to be modified.
  `void`
  `migrateToLatestProcessDefinition()`
  Migrate all the matching event subscriptions to the latest process definition, which should be done if you want to manually upgrade the subscriptions to the latest version of the process definition.
  `void`
  `migrateToProcessDefinition(String processDefinitionId)`
  Migrate all matching event subscriptions to the specific process definition.
  `ProcessInstanceStartEventSubscriptionModificationBuilder`
  `processDefinitionId(String processDefinitionId)`
  Set the process definition using its specific id the manually created subscription is based on.
  `ProcessInstanceStartEventSubscriptionModificationBuilder`
  `tenantId(String tenantId)`
  Set the tenant id in case you are running in a multi tenant environment and the event model needs to be retrieved from a specific tenant.

- ## Method Details

  - ### processDefinitionId

    ProcessInstanceStartEventSubscriptionModificationBuilder processDefinitionId(String processDefinitionId)
    Set the process definition using its specific id the manually created subscription is based on. This is mandatory and must be provided.
    Parameters:
      `processDefinitionId` - the id of the process definition the subscription is based on (an exact version of it)
    Returns:
      the builder to be used for method chaining

  - ### tenantId

    ProcessInstanceStartEventSubscriptionModificationBuilder tenantId(String tenantId)
    Set the tenant id in case you are running in a multi tenant environment and the event model needs to be retrieved from a specific tenant.
    Parameters:
      `tenantId` - the id of the tenant the subscription is created for
    Returns:
      the builder to be used for method chaining

  - ### addCorrelationParameterValue

    ProcessInstanceStartEventSubscriptionModificationBuilder addCorrelationParameterValue(String parameterName, Object parameterValue)
    Adds a specific correlation parameter value for the subscription to be modified. If you register the same correlation parameter values as when creating and registering the event subscription, only that particular one will be modified with this builder. If you want to modify all manually created subscriptions, don't register any correlation parameter values, which would result in all matching the provided process definition and event-registry start event will be modified.
    Parameters:
      `parameterName` - the name of the correlation parameter
      `parameterValue` - the value of the correlation parameter
    Returns:
      the builder to be used for method chaining

  - ### addCorrelationParameterValues

    ProcessInstanceStartEventSubscriptionModificationBuilder addCorrelationParameterValues(Map<String,Object> parameters)
    Registers a list of correlation parameter values for the subscription(s) to be modified.
    Parameters:
      `parameters` - the map of correlation parameter values to be registered for the subscription
    Returns:
      the builder to be used for method chaining

  - ### migrateToLatestProcessDefinition

    void migrateToLatestProcessDefinition()
    Migrate all the matching event subscriptions to the latest process definition, which should be done if you want to manually upgrade the subscriptions to the latest version of the process definition.

  - ### migrateToProcessDefinition

    void migrateToProcessDefinition(String processDefinitionId)
    Migrate all matching event subscriptions to the specific process definition.
    Parameters:
      `processDefinitionId` - the id of the process definition to migrate to