org.camunda.bpm.engine.runtime
Interface CaseInstanceBuilder

All Known Implementing Classes:
CaseInstanceBuilderImpl

public interface CaseInstanceBuilder

A fluent builder to create a new case instance.

Author:
Roman Smirnov

Method Summary
 CaseInstanceBuilder businessKey(String businessKey)
          A business key can be provided to associate the case instance with a certain identifier that has a clear business meaning.
 CaseInstanceBuilder caseDefinitionTenantId(String tenantId)
          Specify the id of the tenant the case definition belongs to.
 CaseInstanceBuilder caseDefinitionWithoutTenantId()
          Specify that the case definition belongs to no tenant.
 CaseInstance create()
          Creates a new CaseInstance, which will be in the ACTIVE state.
 CaseInstanceBuilder setVariable(String variableName, Object variableValue)
          Pass a variable to the case instance.
 CaseInstanceBuilder setVariables(Map<String,Object> variables)
          Pass a map of variables to the case instance.
 

Method Detail

businessKey

CaseInstanceBuilder businessKey(String businessKey)

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:
businessKey - a key that uniquely identifies the case instance in the context of the given case definition.
Returns:
the builder

caseDefinitionTenantId

CaseInstanceBuilder caseDefinitionTenantId(String tenantId)
Specify the id of the tenant the case definition belongs to. Can only be used when the definition is referenced by key and not by id.


caseDefinitionWithoutTenantId

CaseInstanceBuilder caseDefinitionWithoutTenantId()
Specify that the case definition belongs to no tenant. Can only be used when the definition is referenced by key and not by id.


setVariable

CaseInstanceBuilder setVariable(String variableName,
                                Object variableValue)

Pass a variable to the case instance.

Invoking this method multiple times allows passing multiple variables.

Parameters:
variableName - the name of the variable to set
variableValue - the value of the variable to set
Returns:
the builder
Throws:
NotValidException - when the given variable name is null

setVariables

CaseInstanceBuilder setVariables(Map<String,Object> variables)

Pass a map of variables to the case instance.

Invoking this method multiple times allows passing multiple variables.

Parameters:
variables - the map of variables
Returns:
the builder

create

CaseInstance create()

Creates a new CaseInstance, which will be in the ACTIVE state.

Throws:
NotValidException - when the given case definition key or id is null or
NotFoundException - when no case definition is deployed with the given key or id.
ProcessEngineException - when an internal exception happens during the execution of the command


Copyright © 2017 camunda services GmbH. All rights reserved.