org.camunda.bpm.engine.impl.cmmn
Class CaseExecutionCommandBuilderImpl

java.lang.Object
  extended by org.camunda.bpm.engine.impl.cmmn.CaseExecutionCommandBuilderImpl
All Implemented Interfaces:
CaseExecutionCommandBuilder

public class CaseExecutionCommandBuilderImpl
extends Object
implements CaseExecutionCommandBuilder

Author:
Roman Smirnov

Field Summary
protected  String caseExecutionId
           
protected  CommandContext commandContext
           
protected  CommandExecutor commandExecutor
           
protected  Collection<String> variableDeletions
           
protected  Collection<String> variableLocalDeletions
           
protected  org.camunda.bpm.engine.variable.impl.VariableMapImpl variables
           
protected  org.camunda.bpm.engine.variable.impl.VariableMapImpl variablesLocal
           
 
Constructor Summary
CaseExecutionCommandBuilderImpl(CommandContext commandContext, String caseExecutionId)
           
CaseExecutionCommandBuilderImpl(CommandExecutor commandExecutor, String caseExecutionId)
           
 
Method Summary
 void close()
          Additionally to CaseExecutionCommandBuilder.execute() the associated case instance will be closed, so that no further work or modifications is allowed for the associated case instance.
 void complete()
          Additionally to CaseExecutionCommandBuilder.execute() the associated case execution will be completed.
 void disable()
          Additionally to CaseExecutionCommandBuilder.execute() the associated case execution will be disabled.
protected  void ensureVariableDeletionsInitialized()
           
protected  void ensureVariableDeletionsLocalInitialized()
           
protected  void ensureVariableShouldNotBeRemoved(String variableName)
           
protected  void ensureVariableShouldNotBeSet(String variableName)
           
protected  void ensureVariablesInitialized()
           
protected  void ensureVariablesLocalInitialized()
           
protected  void ensureVariablesShouldNotBeRemoved(Collection<String> variableNames)
           
protected  void ensureVariablesShouldNotBeSet(Collection<String> variableNames)
           
 void execute()
          Invoking this method will remove and/or set the passed variables.
protected  void executeCommand(Command<?> command)
           
 String getCaseExecutionId()
           
 Collection<String> getVariableDeletions()
           
 Collection<String> getVariableLocalDeletions()
           
 org.camunda.bpm.engine.variable.VariableMap getVariables()
           
 org.camunda.bpm.engine.variable.VariableMap getVariablesLocal()
           
 void manualStart()
          Additionally to CaseExecutionCommandBuilder.execute() the associated case execution will be started manually.
 void reenable()
          Additionally to CaseExecutionCommandBuilder.execute() the associated case execution will be re-enabled.
 CaseExecutionCommandBuilder removeVariable(String variableName)
          Pass a variable name of a variable to be removed for a case execution.
 CaseExecutionCommandBuilder removeVariableLocal(String variableName)
          Pass a variable name of a local variable to be removed for a case execution (not considering parent scopes).
 CaseExecutionCommandBuilder removeVariables(Collection<String> variableNames)
          Pass a collection of variable names of variables to be removed for a case execution.
 CaseExecutionCommandBuilder removeVariablesLocal(Collection<String> variableNames)
          Pass a collection of variable names of local variables to be removed for a case execution (not considering parent scopes).
 CaseExecutionCommandBuilder setVariable(String variableName, Object variableValue)
          Pass a variable to the case execution.
 CaseExecutionCommandBuilder setVariableLocal(String localVariableName, Object localVariableValue)
          Pass a local variable to the case execution (not considering parent scopes).
 CaseExecutionCommandBuilder setVariables(Map<String,Object> variables)
          Pass a map of variables to the case execution.
 CaseExecutionCommandBuilder setVariablesLocal(Map<String,Object> variablesLocal)
          Pass a map of variables to the case execution (not considering parent scopes).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

commandExecutor

protected CommandExecutor commandExecutor

commandContext

protected CommandContext commandContext

caseExecutionId

protected String caseExecutionId

variables

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

variablesLocal

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

variableDeletions

protected Collection<String> variableDeletions

variableLocalDeletions

protected Collection<String> variableLocalDeletions
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

setVariablesLocal

public CaseExecutionCommandBuilder setVariablesLocal(Map<String,Object> variablesLocal)
Description copied from interface: CaseExecutionCommandBuilder

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

Invoking this method multiple times allows passing multiple variables.

Specified by:
setVariablesLocal in interface CaseExecutionCommandBuilder
Parameters:
variablesLocal - the map of variables
Returns:
the builder

removeVariable

public CaseExecutionCommandBuilder removeVariable(String variableName)
Description copied from interface: CaseExecutionCommandBuilder

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

Invoking this method multiple times allows passing multiple variable names.

Specified by:
removeVariable in interface CaseExecutionCommandBuilder
Parameters:
variableName - the name of a variable to remove
Returns:
the builder

removeVariables

public CaseExecutionCommandBuilder removeVariables(Collection<String> variableNames)
Description copied from interface: CaseExecutionCommandBuilder

Pass a collection of variable names of variables to be removed for a case execution.

Invoking this method multiple times allows passing multiple variable names.

Specified by:
removeVariables in interface CaseExecutionCommandBuilder
Parameters:
variableNames - a collection of names of variables to remove
Returns:
the builder

removeVariableLocal

public CaseExecutionCommandBuilder removeVariableLocal(String variableName)
Description copied from interface: CaseExecutionCommandBuilder

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

Invoking this method multiple times allows passing multiple variable names.

Specified by:
removeVariableLocal in interface CaseExecutionCommandBuilder
Parameters:
variableName - the name of a variable to remove
Returns:
the builder

removeVariablesLocal

public CaseExecutionCommandBuilder removeVariablesLocal(Collection<String> variableNames)
Description copied from interface: CaseExecutionCommandBuilder

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

Invoking this method multiple times allows passing multiple variable names.

Specified by:
removeVariablesLocal in interface CaseExecutionCommandBuilder
Parameters:
variableNames - a collection of names of variables to remove
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:

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:

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

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

close

public void close()
Description copied from interface: CaseExecutionCommandBuilder

Additionally to CaseExecutionCommandBuilder.execute() the associated case instance will be closed, so that no further work or modifications is allowed for the associated case instance. Therefore there happens a transition from the state COMPLETED to state CLOSED.

Specified by:
close 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()

getVariableDeletions

public Collection<String> getVariableDeletions()

getVariableLocalDeletions

public Collection<String> getVariableLocalDeletions()


Copyright © 2015 camunda services GmbH. All rights reserved.