Package org.flowable.cmmn.api.runtime

# Interface ChangePlanItemStateBuilder

public interface ChangePlanItemStateBuilder
Helper for changing the state of a case instance. An instance can be obtained through `CmmnRuntimeService.createChangePlanItemStateBuilder()`.

Author:
  Tijs Rademakers

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ChangePlanItemStateBuilder`
  `activatePlanItemDefinition(ActivatePlanItemDefinitionMapping planItemDefinitionMapping)`
  Activate a plan item by definition mapping.
  `ChangePlanItemStateBuilder`
  `activatePlanItemDefinitionId(String planItemDefinitionId)`
  Activate a plan item by definition id.
  `ChangePlanItemStateBuilder`
  `activatePlanItemDefinitionIds(List<String> planItemDefinitionIds)`
  Activate multiple plan items by definition id.
  `ChangePlanItemStateBuilder`
  `activatePlanItemDefinitions(List<ActivatePlanItemDefinitionMapping> planItemDefinitionMappings)`
  Activate multiple plan items by definition mapping.
  `ChangePlanItemStateBuilder`
  `addWaitingForRepetitionPlanItemDefinition(WaitingForRepetitionPlanItemDefinitionMapping planItemDefinitionMapping)`
  Add waiting for repetition to a plan item by definition mapping.
  `ChangePlanItemStateBuilder`
  `addWaitingForRepetitionPlanItemDefinitionId(String planItemDefinitionId)`
  Add waiting for repetition to a plan item by definition id.
  `ChangePlanItemStateBuilder`
  `addWaitingForRepetitionPlanItemDefinitionIds(List<String> planItemDefinitionIds)`
  Add multiple waiting for repetitions to a plan item by definition id.
  `ChangePlanItemStateBuilder`
  `caseInstanceId(String caseInstanceId)`
  Set the id of the case instance
  `ChangePlanItemStateBuilder`
  `caseVariable(String caseVariableName, Object caseVariableValue)`
  Set the case variable that should be set as part of the change plan item state action.
  `ChangePlanItemStateBuilder`
  `caseVariables(Map<String,Object> caseVariables)`
  Set the case variable that should be set as part of the change plan item state action.
  `ChangePlanItemStateBuilder`
  `changePlanItemDefinitionWithNewTargetIds(String existingPlanItemDefinitionId, String newPlanItemId, String newPlanItemDefinitionId)`
  Add plan item id mapping with definition id.
  `ChangePlanItemStateBuilder`
  `changePlanItemId(String existingPlanItemId, String newPlanItemId)`
  Add plan item id mapping.
  `ChangePlanItemStateBuilder`
  `changePlanItemIds(Map<String,String> changePlanItemIdMap)`
  Add plan item id mapping.
  `ChangePlanItemStateBuilder`
  `changePlanItemIdsWithDefinitionId(Map<String,String> changePlanItemIdWithDefinitionIdMap)`
  Add plan item id mapping with definition id.
  `ChangePlanItemStateBuilder`
  `changePlanItemIdWithDefinitionId(String existingPlanItemDefinitionId, String newPlanItemDefinitionId)`
  Add plan item id mapping with definition id.
  `void`
  `changeState()`
  Changes the case instance state
  `ChangePlanItemStateBuilder`
  `changeToAvailableStateByPlanItemDefinition(MoveToAvailablePlanItemDefinitionMapping planItemDefinitionMapping)`
  Set a plan item to available state by definition mapping.
  `ChangePlanItemStateBuilder`
  `changeToAvailableStateByPlanItemDefinitionId(String planItemDefinitionId)`
  Set a plan item to available state by definition id.
  `ChangePlanItemStateBuilder`
  `changeToAvailableStateByPlanItemDefinitionIds(List<String> planItemDefinitionIds)`
  Set multiple plan items to available state by definition id.
  `ChangePlanItemStateBuilder`
  `childInstanceTaskVariable(String planItemDefinitionId, String name, Object value)`
  Set the case variable that should be set as part of the change process or case task state action.
  `ChangePlanItemStateBuilder`
  `childInstanceTaskVariables(String planItemDefinitionId, Map<String,Object> variables)`
  Set the case variable that should be set as part of the change process or case task state action.
  `ChangePlanItemStateBuilder`
  `removeWaitingForRepetitionPlanItemDefinition(RemoveWaitingForRepetitionPlanItemDefinitionMapping planItemDefinitionId)`
  Remove waiting for repetition from a plan item by definition.
  `ChangePlanItemStateBuilder`
  `removeWaitingForRepetitionPlanItemDefinitionId(String planItemDefinitionId)`
  Remove waiting for repetition from a plan item by definition id.
  `ChangePlanItemStateBuilder`
  `removeWaitingForRepetitionPlanItemDefinitionIds(List<String> planItemDefinitionIds)`
  Remove multiple waiting for repetitions from a plan item by definition id.
  `ChangePlanItemStateBuilder`
  `terminatePlanItemDefinition(TerminatePlanItemDefinitionMapping planItemDefinition)`
  Terminate a plan item by definition mapping without terminating another plan item instance.
  `ChangePlanItemStateBuilder`
  `terminatePlanItemDefinitionId(String planItemDefinitionId)`
  Terminate a plan item by definition id without terminating another plan item instance.
  `ChangePlanItemStateBuilder`
  `terminatePlanItemDefinitionIds(List<String> planItemDefinitionIds)`
  Terminate multiple plan items by definition id without terminating another plan item instance.

- ## Method Details

  - ### caseInstanceId

    ChangePlanItemStateBuilder caseInstanceId(String caseInstanceId)
    Set the id of the case instance

  - ### activatePlanItemDefinitionId

    ChangePlanItemStateBuilder activatePlanItemDefinitionId(String planItemDefinitionId)
    Activate a plan item by definition id.

  - ### activatePlanItemDefinitionIds

    ChangePlanItemStateBuilder activatePlanItemDefinitionIds(List<String> planItemDefinitionIds)
    Activate multiple plan items by definition id.

  - ### activatePlanItemDefinition

    ChangePlanItemStateBuilder activatePlanItemDefinition(ActivatePlanItemDefinitionMapping planItemDefinitionMapping)
    Activate a plan item by definition mapping.

  - ### activatePlanItemDefinitions

    ChangePlanItemStateBuilder activatePlanItemDefinitions(List<ActivatePlanItemDefinitionMapping> planItemDefinitionMappings)
    Activate multiple plan items by definition mapping.

  - ### changeToAvailableStateByPlanItemDefinitionId

    ChangePlanItemStateBuilder changeToAvailableStateByPlanItemDefinitionId(String planItemDefinitionId)
    Set a plan item to available state by definition id.

  - ### changeToAvailableStateByPlanItemDefinitionIds

    ChangePlanItemStateBuilder changeToAvailableStateByPlanItemDefinitionIds(List<String> planItemDefinitionIds)
    Set multiple plan items to available state by definition id.

  - ### changeToAvailableStateByPlanItemDefinition

    ChangePlanItemStateBuilder changeToAvailableStateByPlanItemDefinition(MoveToAvailablePlanItemDefinitionMapping planItemDefinitionMapping)
    Set a plan item to available state by definition mapping.

  - ### terminatePlanItemDefinitionId

    ChangePlanItemStateBuilder terminatePlanItemDefinitionId(String planItemDefinitionId)
    Terminate a plan item by definition id without terminating another plan item instance.

  - ### terminatePlanItemDefinition

    ChangePlanItemStateBuilder terminatePlanItemDefinition(TerminatePlanItemDefinitionMapping planItemDefinition)
    Terminate a plan item by definition mapping without terminating another plan item instance.

  - ### terminatePlanItemDefinitionIds

    ChangePlanItemStateBuilder terminatePlanItemDefinitionIds(List<String> planItemDefinitionIds)
    Terminate multiple plan items by definition id without terminating another plan item instance.

  - ### addWaitingForRepetitionPlanItemDefinitionId

    ChangePlanItemStateBuilder addWaitingForRepetitionPlanItemDefinitionId(String planItemDefinitionId)
    Add waiting for repetition to a plan item by definition id.

  - ### addWaitingForRepetitionPlanItemDefinition

    ChangePlanItemStateBuilder addWaitingForRepetitionPlanItemDefinition(WaitingForRepetitionPlanItemDefinitionMapping planItemDefinitionMapping)
    Add waiting for repetition to a plan item by definition mapping.

  - ### addWaitingForRepetitionPlanItemDefinitionIds

    ChangePlanItemStateBuilder addWaitingForRepetitionPlanItemDefinitionIds(List<String> planItemDefinitionIds)
    Add multiple waiting for repetitions to a plan item by definition id.

  - ### removeWaitingForRepetitionPlanItemDefinitionId

    ChangePlanItemStateBuilder removeWaitingForRepetitionPlanItemDefinitionId(String planItemDefinitionId)
    Remove waiting for repetition from a plan item by definition id.

  - ### removeWaitingForRepetitionPlanItemDefinition

    ChangePlanItemStateBuilder removeWaitingForRepetitionPlanItemDefinition(RemoveWaitingForRepetitionPlanItemDefinitionMapping planItemDefinitionId)
    Remove waiting for repetition from a plan item by definition.

  - ### removeWaitingForRepetitionPlanItemDefinitionIds

    ChangePlanItemStateBuilder removeWaitingForRepetitionPlanItemDefinitionIds(List<String> planItemDefinitionIds)
    Remove multiple waiting for repetitions from a plan item by definition id.

  - ### changePlanItemId

    ChangePlanItemStateBuilder changePlanItemId(String existingPlanItemId, String newPlanItemId)
    Add plan item id mapping. This should not be needed in general, but there are cases where the existing plan item id is different from the new plan item id, and for this reason this option is provided.

  - ### changePlanItemIds

    ChangePlanItemStateBuilder changePlanItemIds(Map<String,String> changePlanItemIdMap)
    Add plan item id mapping. This should not be needed in general, but there are cases where the existing plan item id is different from the new plan item id, and for this reason this option is provided.

  - ### changePlanItemIdWithDefinitionId

    ChangePlanItemStateBuilder changePlanItemIdWithDefinitionId(String existingPlanItemDefinitionId, String newPlanItemDefinitionId)
    Add plan item id mapping with definition id. This should not be needed in general, but there are cases where the existing plan item id is different from the new plan item id, and for this reason this option is provided.

  - ### changePlanItemIdsWithDefinitionId

    ChangePlanItemStateBuilder changePlanItemIdsWithDefinitionId(Map<String,String> changePlanItemIdWithDefinitionIdMap)
    Add plan item id mapping with definition id. This should not be needed in general, but there are cases where the existing plan item id is different from the new plan item id, and for this reason this option is provided.

  - ### changePlanItemDefinitionWithNewTargetIds

    ChangePlanItemStateBuilder changePlanItemDefinitionWithNewTargetIds(String existingPlanItemDefinitionId, String newPlanItemId, String newPlanItemDefinitionId)
    Add plan item id mapping with definition id. This should not be needed in general, but there are cases where the existing plan item id is different from the new plan item id, and for this reason this option is provided.

  - ### caseVariable

    ChangePlanItemStateBuilder caseVariable(String caseVariableName, Object caseVariableValue)
    Set the case variable that should be set as part of the change plan item state action.

  - ### caseVariables

    ChangePlanItemStateBuilder caseVariables(Map<String,Object> caseVariables)
    Set the case variable that should be set as part of the change plan item state action.

  - ### childInstanceTaskVariable

    ChangePlanItemStateBuilder childInstanceTaskVariable(String planItemDefinitionId, String name, Object value)
    Set the case variable that should be set as part of the change process or case task state action.

  - ### childInstanceTaskVariables

    ChangePlanItemStateBuilder childInstanceTaskVariables(String planItemDefinitionId, Map<String,Object> variables)
    Set the case variable that should be set as part of the change process or case task state action.

  - ### changeState

    void changeState()
    Changes the case instance state
    Throws:
      `FlowableObjectNotFoundException` - when no case instance is found
      `FlowableException` - plan item instance could not be canceled or started