Interface CaseService

    • Method Detail

      • createCaseInstanceByKey

        CaseInstance createCaseInstanceByKey​(String caseDefinitionKey)

        Creates a new CaseInstance of the latest version of the case definition with the given key. The new case instance will be in the ACTIVE state.

        Parameters:
        caseDefinitionKey - the key of the case definition to instantiate
        Throws:
        NotValidException - when the given case definition key is null.
        NotFoundException - when no case definition is deployed with the given key.
        ProcessEngineException - when an internal exception happens during the execution of the command
      • createCaseInstanceByKey

        CaseInstance createCaseInstanceByKey​(String caseDefinitionKey,
                                             String businessKey)

        Creates a new CaseInstance of the latest version of the case definition with the given key. The new case instance will be in the ACTIVE state.

        A business key can be provided to associate the case instance with a certain identifier that has a clear business meaning. This business key can then be used to easily look up that case instance, see CaseInstanceQuery.caseInstanceBusinessKey(String). Providing such a business key is definitely a best practice.

        Note that a business key MUST be unique for the given case definition WHEN you have added a database constraint for it. In this case, only case instance from different case definition are allowed to have the same business key and the combination of caseDefinitionKey-businessKey must be unique.

        Parameters:
        caseDefinitionKey - the key of the case definition to instantiate
        businessKey - a key that uniquely identifies the case instance in the context of the given case definition.
        Throws:
        NotValidException - when the given case definition key is null.
        NotFoundException - when no case definition is deployed with the given key.
        ProcessEngineException - when an internal exception happens during the execution of the command
      • createCaseInstanceByKey

        CaseInstance createCaseInstanceByKey​(String caseDefinitionKey,
                                             Map<String,​Object> variables)

        Creates a new CaseInstance of the latest version of the case definition with the given key. The new case instance will be in the ACTIVE state.

        Parameters:
        caseDefinitionKey - the key of the case definition to instantiate
        variables - variables to be set on the new case instance
        Throws:
        NotValidException - when the given case definition key is null.
        NotFoundException - when no case definition is deployed with the given key.
        ProcessEngineException - when an internal exception happens during the execution of the command
      • createCaseInstanceByKey

        CaseInstance createCaseInstanceByKey​(String caseDefinitionKey,
                                             String businessKey,
                                             Map<String,​Object> variables)

        Creates a new CaseInstance of the latest version of the case definition with the given key. The new case instance will be in the ACTIVE state.

        A business key can be provided to associate the case instance with a certain identifier that has a clear business meaning. This business key can then be used to easily look up that case instance, see CaseInstanceQuery.caseInstanceBusinessKey(String). Providing such a business key is definitely a best practice.

        Note that a business key MUST be unique for the given case definition WHEN you have added a database constraint for it. In this case, only case instance from different case definition are allowed to have the same business key and the combination of caseDefinitionKey-businessKey must be unique.

        Parameters:
        caseDefinitionKey - the key of the case definition to instantiate.
        businessKey - a key that uniquely identifies the case instance in the context of the given case definition.
        variables - variables to be set on the new case instance.
        Throws:
        NotValidException - when the given case definition key is null.
        NotFoundException - when no case definition is deployed with the given key.
        ProcessEngineException - when an internal exception happens during the execution of the command
      • createCaseInstanceById

        CaseInstance createCaseInstanceById​(String caseDefinitionId)

        Creates a new CaseInstance in the exactly specified version identify by the provided process definition id. The new case instance will be in the ACTIVE state.

        Parameters:
        caseDefinitionId - the id of the case definition to instantiate
        Throws:
        NotValidException - when the given case definition id is null.
        NotFoundException - when no case definition is deployed with the given id.
        ProcessEngineException - when an internal exception happens during the execution of the command
      • createCaseInstanceById

        CaseInstance createCaseInstanceById​(String caseDefinitionId,
                                            String businessKey)

        Creates a new CaseInstance in the exactly specified version identify by the provided process definition id. The new case instance will be in the ACTIVE state.

        A business key can be provided to associate the case instance with a certain identifier that has a clear business meaning. This business key can then be used to easily look up that case instance, see CaseInstanceQuery.caseInstanceBusinessKey(String). Providing such a business key is definitely a best practice.

        Note that a business key MUST be unique for the given case definition WHEN you have added a database constraint for it. In this case, only case instance from different case definition are allowed to have the same business key and the combination of caseDefinitionKey-businessKey must be unique.

        Parameters:
        caseDefinitionId - the id of the case definition to instantiate
        businessKey - a key that uniquely identifies the case instance in the context of the given case definition.
        Throws:
        NotValidException - when the given case definition id is null.
        NotFoundException - when no case definition is deployed with the given id.
        ProcessEngineException - when an internal exception happens during the execution of the command
      • createCaseInstanceById

        CaseInstance createCaseInstanceById​(String caseDefinitionId,
                                            Map<String,​Object> variables)

        Creates a new CaseInstance in the exactly specified version identify by the provided process definition id. The new case instance will be in the ACTIVE state.

        Parameters:
        caseDefinitionId - the id of the case definition to instantiate
        variables - variables to be set on the new case instance.
        Throws:
        NotValidException - when the given case definition id is null.
        NotFoundException - when no case definition is deployed with the given id.
        ProcessEngineException - when an internal exception happens during the execution of the command
      • createCaseInstanceById

        CaseInstance createCaseInstanceById​(String caseDefinitionId,
                                            String businessKey,
                                            Map<String,​Object> variables)

        Creates a new CaseInstance in the exactly specified version identify by the provided process definition id. The new case instance will be in the ACTIVE state.

        A business key can be provided to associate the case instance with a certain identifier that has a clear business meaning. This business key can then be used to easily look up that case instance, see CaseInstanceQuery.caseInstanceBusinessKey(String). Providing such a business key is definitely a best practice.

        Note that a business key MUST be unique for the given case definition WHEN you have added a database constraint for it. In this case, only case instance from different case definition are allowed to have the same business key and the combination of caseDefinitionKey-businessKey must be unique.

        Parameters:
        caseDefinitionId - the id of the case definition to instantiate
        businessKey - a key that uniquely identifies the case instance in the context of the given case definition.
        variables - variables to be set on the new case instance.
        Throws:
        NotValidException - when the given case definition id is null.
        NotFoundException - when no case definition is deployed with the given id.
        ProcessEngineException - when an internal exception happens during the execution of the command
      • manuallyStartCaseExecution

        void manuallyStartCaseExecution​(String caseExecutionId)

        Starts the case execution identified by the given id manually. Performs the transition from state ENABLED to state ACTIVE.

        According to CMMN 1.0 specification, the state ACTIVE means that the Stage or Task related to the case execution does the following:

        Parameters:
        caseExecutionId - the id of the case execution to manually start
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        NotAllowedException - when the transition is not allowed to be done or when the case execution is a case instance
        ProcessEngineException - when an internal exception happens during the execution of the command.
      • manuallyStartCaseExecution

        void manuallyStartCaseExecution​(String caseExecutionId,
                                        Map<String,​Object> variables)

        Starts the case execution identified by the given id manually. Performs a transition from state ENABLED to state ACTIVE.

        According to CMMN 1.0 specification, the state ACTIVE means that the Stage or Task related to the case execution does the following:

        Parameters:
        caseExecutionId - the id of the case execution to manually start
        variables - variables to be set on the case execution
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        NotAllowedException - when the transition is not allowed to be done or when the case execution is a case instance
        ProcessEngineException - when an internal exception happens during the execution of the command.
      • disableCaseExecution

        void disableCaseExecution​(String caseExecutionId)

        Disables the case execution identified by the given id. Performs a transition from state ENABLED to state DISABLED.

        According to CMMN 1.0 specification, the state DISABLED means that the Stage or Task related to the case execution should not be executed in this case instance.

        If the given case execution has a parent case execution, that parent case execution will be notified that the given case execution has been disabled. This can lead to a completion of the parent case execution if the completion criteria are fulfilled.

        Parameters:
        caseExecutionId - the id of the case execution to disable
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        NotAllowedException - when the transition is not allowed to be done or when the case execution is a case instance
        ProcessEngineException - when an internal exception happens during the execution of the command.
      • disableCaseExecution

        void disableCaseExecution​(String caseExecutionId,
                                  Map<String,​Object> variables)

        Disables the case execution identified by the given id. Performs a transition from state ENABLED to state DISABLED.

        According to CMMN 1.0 specification, the state DISABLED means that the Stage or Task related to the case execution should not be executed in this case instance.

        If the given case execution has a parent case execution, that parent case execution will be notified that the given case execution has been disabled. This can lead to a completion of the parent case execution if the completion criteria are fulfilled.

        Parameters:
        caseExecutionId - the id of the case execution to disable
        variables - variables to be set on the case execution
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        NotAllowedException - when the transition is not allowed to be done or when the case execution is a case instance
        ProcessEngineException - when an internal exception happens during the execution of the command.
      • reenableCaseExecution

        void reenableCaseExecution​(String caseExecutionId)

        Re-enables the case execution identified by the given id. Performs a transition from state DISABLED to state ENABLED.

        According to CMMN 1.0 specification, the state DISABLED means that the Stage or Task related to the case execution pends for a decision to become ACTIVE or DISABLED.

        Parameters:
        caseExecutionId - the id of the case execution to re-enable
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        NotAllowedException - when the transition is not allowed to be done or when the case execution is a case instance
        ProcessEngineException - when an internal exception happens during the execution of the command.
      • reenableCaseExecution

        void reenableCaseExecution​(String caseExecutionId,
                                   Map<String,​Object> variables)

        Re-enables the case execution identified by the given id. Performs a transition from state DISABLED to state ENABLED.

        According to CMMN 1.0 specification, the state DISABLED means that the Stage or Task related to the case execution pends for a decision to become ACTIVE or DISABLED.

        Parameters:
        caseExecutionId - the id of the case execution to re-enable
        variables - variables to be set on the case execution
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        NotAllowedException - when the transition is not allowed to be done or when the case execution is a case instance
        ProcessEngineException - when an internal exception happens during the execution of the command.
      • completeCaseExecution

        void completeCaseExecution​(String caseExecutionId)

        Completes the case execution identified by the given id. Performs a transition from state ACTIVE to state COMPLETED.

        It is only possible to complete a case execution which is associated with a Stage or Task.

        In case of a Stage, the completion can only be performed when the following criteria are fulfilled:

        • there are no children in the state ACTIVE

        For a Task instance, this means its purpose has been accomplished:

        • HumanTask has been completed by human.

        If the given case execution has a parent case execution, that parent case execution will be notified that the given case execution has been completed. This can lead to a completion of the parent case execution if the completion criteria are fulfilled.

        Parameters:
        caseExecutionId - the id of the case execution to complete
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        NotAllowedException - when the transition is not allowed to be done
        ProcessEngineException - when an internal exception happens during the execution of the command.
      • completeCaseExecution

        void completeCaseExecution​(String caseExecutionId,
                                   Map<String,​Object> variables)

        Completes the case execution identified by the given id. Performs a transition from state ACTIVE to state COMPLETED.

        It is only possible to complete a case execution which is associated with a Stage or Task.

        In case of a Stage, the completion can only be performed when the following criteria are fulfilled:

        • there are no children in the state ACTIVE

        For a Task instance, this means its purpose has been accomplished:

        • HumanTask has been completed by human.

        If the given case execution has a parent case execution, that parent case execution will be notified that the given case execution has been completed. This can lead to a completion of the parent case execution if the completion criteria are fulfilled.

        Parameters:
        caseExecutionId - the id of the case execution to complete
        variables - variables to be set on the case execution
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        NotAllowedException - when the transition is not allowed to be done
        ProcessEngineException - when an internal exception happens during the execution of the command.
      • closeCaseInstance

        void closeCaseInstance​(String caseExecutionId)

        Closes the case instance the execution identified by the given id belongs to. Once closed, no further work or modifications are allowed for the case instance. Performs a transition from state COMPLETED to state CLOSED.

        Parameters:
        caseExecutionId - the id of the case execution to close the case instance for
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        NotAllowedException - when the transition is not allowed to be done
        ProcessEngineException - when an internal exception happens during the execution of the command.
      • terminateCaseExecution

        void terminateCaseExecution​(String caseExecutionId)

        Terminates the case execution identified by the given id. Performs the transition from ACTIVE to state TERMINATED if the case execution belongs to a case model or a task or a stage. Performs the transition from AVAILABLE to state TERMINATED if the case execution belongs to a milestone.

        Parameters:
        caseExecutionId - the id of the case execution to be terminated
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        NotAllowedException - when the transition is not allowed to be done
        ProcessEngineException - when an internal exception happens during the execution of the command.
      • terminateCaseExecution

        void terminateCaseExecution​(String caseExecutionId,
                                    Map<String,​Object> variables)

        Terminates the case execution identified by the given id. Performs the transition from ACTIVE to state TERMINATED if the case execution belongs to either a case model or a task or a stage. Performs the transition from AVAILABLE to state TERMINATED if the case execution belongs to a milestone.

        Parameters:
        caseExecutionId - the id of the case execution to terminate
        variables - variables to be set on the case execution
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        NotAllowedException - when the transition is not allowed to be done
        ProcessEngineException - when an internal exception happens during the execution of the command.
      • withCaseDefinitionByKey

        CaseInstanceBuilder withCaseDefinitionByKey​(String caseDefinitionKey)

        Define a CaseInstance using a fluent builder.

        Starts a new case instance with the latest version of the corresponding case definition.

        Parameters:
        caseDefinitionKey - the key of a case definition to create a new case instance of, cannot be null
        Returns:
        a fluent builder for defining a new case instance
      • withCaseDefinition

        CaseInstanceBuilder withCaseDefinition​(String caseDefinitionId)

        Define a CaseInstance using a fluent builder.

        Starts a new case instance with the case definition version corresponding to the given id.

        Parameters:
        caseDefinitionId - the id of a case definition to create a new case instance, cannot be null
        Returns:
        a fluent builder for defining a new case instance
      • withCaseExecution

        CaseExecutionCommandBuilder withCaseExecution​(String caseExecutionId)

        Define a command to be executed for a CaseExecution using a fluent builder.

        Parameters:
        caseExecutionId - the id of a case execution to define a command for it
        Returns:
        a fluent builder for defining a command for a case execution
      • getVariables

        Map<String,​Object> getVariables​(String caseExecutionId)

        All variables visible from the given execution scope (including parent scopes).

        If you have many local variables and you only need a few, consider using getVariables(String, Collection) for better performance.

        Parameters:
        caseExecutionId - the id of a case instance or case execution, cannot be null
        Returns:
        the variables or an empty map if no such variables are found
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariablesTyped

        VariableMap getVariablesTyped​(String caseExecutionId)

        All variables visible from the given execution scope (including parent scopes).

        If you have many local variables and you only need a few, consider using getVariables(String, Collection) for better performance.

        Parameters:
        caseExecutionId - the id of a case instance or case execution, cannot be null
        Returns:
        the variables or an empty map if no such variables are found
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariablesTyped

        VariableMap getVariablesTyped​(String caseExecutionId,
                                      boolean deserializeValues)

        All variables visible from the given execution scope (including parent scopes).

        If you have many local variables and you only need a few, consider using getVariables(String, Collection) for better performance.

        Parameters:
        caseExecutionId - the id of a case instance or case execution, cannot be null
        deserializeValues - if false, the process engine will not attempt to deserialize SerializableValues.
        Returns:
        the variables or an empty map if no such variables are found
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariablesLocal

        Map<String,​Object> getVariablesLocal​(String caseExecutionId)

        All variable values that are defined in the case execution scope, without taking outer scopes into account.

        If you have many local variables and you only need a few, consider using getVariablesLocal(String, Collection) for better performance.

        Parameters:
        caseExecutionId - the id of a case execution, cannot be null
        Returns:
        the variables or an empty map if no such variables are found
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariablesLocalTyped

        VariableMap getVariablesLocalTyped​(String caseExecutionId)

        All variable values that are defined in the case execution scope, without taking outer scopes into account.

        If you have many local variables and you only need a few, consider using getVariablesLocal(String, Collection) for better performance.

        Parameters:
        caseExecutionId - the id of a case execution, cannot be null
        Returns:
        the variables or an empty map if no such variables are found
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariablesLocalTyped

        VariableMap getVariablesLocalTyped​(String caseExecutionId,
                                           boolean deserializeValues)

        All variable values that are defined in the case execution scope, without taking outer scopes into account.

        If you have many local variables and you only need a few, consider using getVariablesLocal(String, Collection) for better performance.

        Parameters:
        caseExecutionId - the id of a case execution, cannot be null
        deserializeValues - if false, the process engine will not attempt to deserialize SerializableValues.
        Returns:
        the variables or an empty map if no such variables are found
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariables

        Map<String,​Object> getVariables​(String caseExecutionId,
                                              Collection<String> variableNames)

        The variable values for all given variableNames, takes all variables into account which are visible from the given case execution scope (including parent scopes).

        Parameters:
        caseExecutionId - the id of a case instance or case execution, cannot be null
        variableNames - the collection of variable names that should be retrieved
        Returns:
        the variables or an empty map if no such variables are found
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariablesTyped

        VariableMap getVariablesTyped​(String caseExecutionId,
                                      Collection<String> variableNames,
                                      boolean deserializeValues)

        The variable values for all given variableNames, takes all variables into account which are visible from the given case execution scope (including parent scopes).

        Parameters:
        caseExecutionId - the id of a case instance or case execution, cannot be null
        variableNames - the collection of variable names that should be retrieved
        deserializeValues - if false, SerializableValues will not be deserialized
        Returns:
        the variables or an empty map if no such variables are found
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariablesLocal

        Map<String,​Object> getVariablesLocal​(String caseExecutionId,
                                                   Collection<String> variableNames)

        The variable values for the given variableNames only taking the given case execution scope into account, not looking in outer scopes.

        Parameters:
        caseExecutionId - the id of a case execution, cannot be null
        variableNames - the collection of variable names that should be retrieved
        Returns:
        the variables or an empty map if no such variables are found
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariablesLocalTyped

        VariableMap getVariablesLocalTyped​(String caseExecutionId,
                                           Collection<String> variableNames,
                                           boolean deserializeValues)

        The variable values for the given variableNames only taking the given case execution scope into account, not looking in outer scopes.

        Parameters:
        caseExecutionId - the id of a case execution, cannot be null
        variableNames - the collection of variable names that should be retrieved
        deserializeValues - if false, the process engine will not attempt to deserialize SerializableValues.
        Returns:
        the variables or an empty map if no such variables are found
        Throws:
        NotValidException - when the given case execution id is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariable

        Object getVariable​(String caseExecutionId,
                           String variableName)

        Searching for the variable is done in all scopes that are visible to the given case execution (including parent scopes).

        Returns null when no variable value is found with the given name or when the value is set to null.

        Parameters:
        caseExecutionId - the id of a case instance or case execution, cannot be null
        variableName - the name of a variable, cannot be null
        Returns:
        the variable value or null if the variable is undefined or the value of the variable is null
        Throws:
        NotValidException - when the given case execution id or variable name is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariableTyped

        <T extends TypedValue> T getVariableTyped​(String caseExecutionId,
                                                  String variableName)

        Searching for the variable is done in all scopes that are visible to the given case execution (including parent scopes).

        Returns null when no variable value is found with the given name or when the value is set to null.

        Parameters:
        caseExecutionId - the id of a case instance or case execution, cannot be null
        variableName - the name of a variable, cannot be null
        Returns:
        the variable value or null if the variable is undefined or the value of the variable is null
        Throws:
        NotValidException - when the given case execution id or variable name is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariableTyped

        <T extends TypedValue> T getVariableTyped​(String caseExecutionId,
                                                  String variableName,
                                                  boolean deserializeValue)

        Searching for the variable is done in all scopes that are visible to the given case execution (including parent scopes).

        Returns null when no variable value is found with the given name or when the value is set to null.

        Parameters:
        caseExecutionId - the id of a case instance or case execution, cannot be null
        variableName - the name of a variable, cannot be null
        deserializeValue - if false, SerializableValues will not be deserialized
        Returns:
        the variable value or null if the variable is undefined or the value of the variable is null
        Throws:
        NotValidException - when the given case execution id or variable name is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariableLocal

        Object getVariableLocal​(String caseExecutionId,
                                String variableName)

        The variable value for an case execution. Returns the value when the variable is set for the case execution (and not searching parent scopes).

        Returns null when no variable value is found with the given name or when the value is set to null.

        Parameters:
        caseExecutionId - the id of a case instance or case execution, cannot be null
        variableName - the name of a variable, cannot be null
        Returns:
        the variable value or null if the variable is undefined or the value of the variable is null
        Throws:
        NotValidException - when the given case execution id or variable name is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariableLocalTyped

        <T extends TypedValue> T getVariableLocalTyped​(String caseExecutionId,
                                                       String variableName)

        The variable value for an case execution. Returns the value when the variable is set for the case execution (and not searching parent scopes).

        Returns null when no variable value is found with the given name or when the value is set to null.

        Parameters:
        caseExecutionId - the id of a case instance or case execution, cannot be null
        variableName - the name of a variable, cannot be null
        Returns:
        the variable value or null if the variable is undefined or the value of the variable is null
        Throws:
        NotValidException - when the given case execution id or variable name is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • getVariableLocalTyped

        <T extends TypedValue> T getVariableLocalTyped​(String caseExecutionId,
                                                       String variableName,
                                                       boolean deserializeValue)

        The variable value for an case execution. Returns the value when the variable is set for the case execution (and not searching parent scopes).

        Returns null when no variable value is found with the given name or when the value is set to null.

        Parameters:
        caseExecutionId - the id of a case instance or case execution, cannot be null
        variableName - the name of a variable, cannot be null
        deserializeValue - if false, SerializableValues will not be deserialized
        Returns:
        the variable value or null if the variable is undefined or the value of the variable is null
        Throws:
        NotValidException - when the given case execution id or variable name is null
        NotFoundException - when no case execution is found for the given case execution id
        ProcessEngineException - when an internal exception happens during the execution of the command
      • setVariables

        void setVariables​(String caseExecutionId,
                          Map<String,​Object> variables)

        Pass a map of variables to the case execution. If the variables do not already exist, they are created in the case instance (which is the root execution). Otherwise existing variables are updated.

        Parameters:
        caseExecutionId - the case execution to set the variables for
        variables - the map of variables
      • setVariablesLocal

        void setVariablesLocal​(String caseExecutionId,
                               Map<String,​Object> variables)

        Pass a map of variables to the case execution (not considering parent scopes).

        Parameters:
        caseExecutionId - the case execution to set the variables for
        variables - the map of variables
      • setVariable

        void setVariable​(String caseExecutionId,
                         String variableName,
                         Object variableValue)

        Pass a variable to the case execution. If the variable does not already exist, it is created in the case instance (which is the root execution). Otherwise, the existing variable is updated.

        Parameters:
        caseExecutionId - the case execution to set the variable for
        variableName - the name of the variable to set
        variableValue - the value of the variable to set
        Throws:
        NotValidException - when the given variable name is null
      • setVariableLocal

        void setVariableLocal​(String caseExecutionId,
                              String variableName,
                              Object variableValue)

        Pass a local variable to the case execution (not considering parent scopes).

        Parameters:
        caseExecutionId - the case execution to set the variable for
        variableName - the name of the variable to set
        variableValue - the value of the variable to set
        Throws:
        NotValidException - when the given variable name is null
      • removeVariables

        void removeVariables​(String caseExecutionId,
                             Collection<String> variableNames)

        Pass a collection of names identifying variables to be removed from a case execution.

        Parameters:
        caseExecutionId - the case execution to remove the variables from
        variableNames - a collection of names of variables to remove
      • removeVariablesLocal

        void removeVariablesLocal​(String caseExecutionId,
                                  Collection<String> variableNames)

        Pass a collection of names identifying local variables to be removed from a case execution (not considering parent scopes).

        Parameters:
        caseExecutionId - the case execution to remove the variables from
        variableNames - a collection of names of variables to remove
      • removeVariable

        void removeVariable​(String caseExecutionId,
                            String variableName)

        Pass a name of a variable to be removed from a case execution.

        Parameters:
        caseExecutionId - the case execution to remove the variable from
        variableName - the name of the variable to remove
        Throws:
        NotValidException - when the given variable name is null
      • removeVariableLocal

        void removeVariableLocal​(String caseExecutionId,
                                 String variableName)

        Pass a variable name of a local variable to be removed from a case execution (not considering parent scopes).

        Parameters:
        caseExecutionId - the case execution to remove the variable from
        variableName - the name of a variable to remove
        Throws:
        NotValidException - when the given variable name is null