Class CaseExecutionCommandBuilderImpl

    • Field Detail

      • caseExecutionId

        protected String caseExecutionId
      • variables

        protected org.camunda.bpm.engine.variable.impl.VariableMapImpl variables
      • variablesLocal

        protected org.camunda.bpm.engine.variable.impl.VariableMapImpl variablesLocal
    • Constructor Detail

      • CaseExecutionCommandBuilderImpl

        public CaseExecutionCommandBuilderImpl​(CommandExecutor commandExecutor,
                                               String caseExecutionId)
      • CaseExecutionCommandBuilderImpl

        public CaseExecutionCommandBuilderImpl​(CommandContext commandContext,
                                               String caseExecutionId)
    • Method Detail

      • setVariable

        public CaseExecutionCommandBuilder setVariable​(String variableName,
                                                       Object variableValue)
        Description copied from interface: CaseExecutionCommandBuilder

        Pass a variable to the case execution. If the variable is not already existing, they will be created in the case instance (which is the root execution) otherwise the existing variable will be updated.

        Invoking this method multiple times allows passing multiple variables.

        Specified by:
        setVariable in interface CaseExecutionCommandBuilder
        Parameters:
        variableName - the name of the variable to set
        variableValue - the value of the variable to set
        Returns:
        the builder
      • setVariables

        public CaseExecutionCommandBuilder setVariables​(Map<String,​Object> variables)
        Description copied from interface: CaseExecutionCommandBuilder

        Pass a map of variables to the case execution. If the variables are not already existing, they will be created in the case instance (which is the root execution) otherwise the existing variable will be updated.

        Invoking this method multiple times allows passing multiple variables.

        Specified by:
        setVariables in interface CaseExecutionCommandBuilder
        Parameters:
        variables - the map of variables
        Returns:
        the builder
      • setVariableLocal

        public CaseExecutionCommandBuilder setVariableLocal​(String localVariableName,
                                                            Object localVariableValue)
        Description copied from interface: CaseExecutionCommandBuilder

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

        Invoking this method multiple times allows passing multiple variables.

        Specified by:
        setVariableLocal in interface CaseExecutionCommandBuilder
        Parameters:
        localVariableName - the name of the variable to set
        localVariableValue - the value of the variable to set
        Returns:
        the builder
      • ensureVariablesShouldNotBeRemoved

        protected void ensureVariablesShouldNotBeRemoved​(Collection<String> variableNames)
      • ensureVariableShouldNotBeRemoved

        protected void ensureVariableShouldNotBeRemoved​(String variableName)
      • ensureVariablesShouldNotBeSet

        protected void ensureVariablesShouldNotBeSet​(Collection<String> variableNames)
      • ensureVariableShouldNotBeSet

        protected void ensureVariableShouldNotBeSet​(String variableName)
      • ensureVariablesInitialized

        protected void ensureVariablesInitialized()
      • ensureVariablesLocalInitialized

        protected void ensureVariablesLocalInitialized()
      • ensureVariableDeletionsInitialized

        protected void ensureVariableDeletionsInitialized()
      • ensureVariableDeletionsLocalInitialized

        protected void ensureVariableDeletionsLocalInitialized()
      • execute

        public void execute()
        Description copied from interface: CaseExecutionCommandBuilder

        Invoking this method will remove and/or set the passed variables.

        This behaves as follows:

        1. if at least one variable name of a variable to remove is passed, those variables will be removed.
        2. if at least one local variable name of a local variable to remove is passed, those local variables will be removed.
        3. if at least one variable to add or update is passed, those variables will be set for a case execution.
        4. if at least one local variable to add or update is passed, those variables will be set for a case execution.
        Specified by:
        execute in interface CaseExecutionCommandBuilder
      • manualStart

        public void manualStart()
        Description copied from interface: CaseExecutionCommandBuilder

        Additionally to CaseExecutionCommandBuilder.execute() the associated case execution will be started manually. Therefore there happens a transition from the state ENABLED to state ACTIVE.

        According to CMMN 1.0 specification the state ACTIVE means, that the with the case execution related Stage or Task is executing in this state:

        • Task: the task will be completed immediately
        • HumanTask: a new user task will be instantiated
        • ProcessTask: a new process instance will be instantiated
        • CaseTask: a new case instance will be instantiated

        Specified by:
        manualStart in interface CaseExecutionCommandBuilder
      • disable

        public void disable()
        Description copied from interface: CaseExecutionCommandBuilder

        Additionally to CaseExecutionCommandBuilder.execute() the associated case execution will be disabled. Therefore there happens a transition from the state ENABLED to state DISABLED.

        According to CMMN 1.0 specification the state DISABLED means, that the with the case execution related Stage or Task should not be executed in the 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.

        Specified by:
        disable in interface CaseExecutionCommandBuilder
      • reenable

        public void reenable()
        Description copied from interface: CaseExecutionCommandBuilder

        Additionally to CaseExecutionCommandBuilder.execute() the associated case execution will be re-enabled. Therefore there happens a transition from the state DISABLED to state ENABLED.

        According to CMMN 1.0 specification the state DISABLED means, that the with the case execution related Stage or Task is waiting for a decision to become ACTIVE or DISABLED once again.

        Specified by:
        reenable in interface CaseExecutionCommandBuilder
      • complete

        public void complete()
        Description copied from interface: CaseExecutionCommandBuilder

        Additionally to CaseExecutionCommandBuilder.execute() the associated case execution will be completed. Therefore there happens a transition from the 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.

        Specified by:
        complete in interface CaseExecutionCommandBuilder
      • executeCommand

        protected void executeCommand​(Command<?> command)
      • getCaseExecutionId

        public String getCaseExecutionId()
      • getVariables

        public org.camunda.bpm.engine.variable.VariableMap getVariables()
      • getVariablesLocal

        public org.camunda.bpm.engine.variable.VariableMap getVariablesLocal()
      • getVariableLocalDeletions

        public Collection<String> getVariableLocalDeletions()