Class VariableInstanceEntity
- java.lang.Object
-
- org.camunda.bpm.engine.impl.persistence.entity.VariableInstanceEntity
-
- All Implemented Interfaces:
Serializable
,CoreVariableInstance
,DbEntity
,DbEntityLifecycleAware
,HasDbReferences
,HasDbRevision
,Nameable
,TypedValueUpdateListener
,ValueFields
,VariableInstance
public class VariableInstanceEntity extends Object implements VariableInstance, CoreVariableInstance, ValueFields, DbEntity, DbEntityLifecycleAware, TypedValueUpdateListener, HasDbRevision, HasDbReferences, Serializable
- Author:
- Tom Baeyens
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected String
activityInstanceId
protected String
batchId
protected ByteArrayField
byteArrayField
protected String
caseExecutionId
protected String
caseInstanceId
protected String
configuration
protected Double
doubleValue
protected ExecutionEntity
execution
protected String
executionId
protected String
id
protected boolean
isConcurrentLocal
Determines whether this variable is supposed to be a local variable in case of concurrency in its scope.protected boolean
isTransient
Determines whether this variable is stored in the data base.protected static EnginePersistenceLogger
LOG
protected Long
longValue
protected String
name
protected String
processDefinitionId
protected String
processInstanceId
protected int
revision
protected long
sequenceCounter
protected String
taskId
protected String
tenantId
protected String
textValue
protected String
textValue2
protected TypedValueField
typedValueField
protected String
variableScopeId
-
Constructor Summary
Constructors Constructor Description VariableInstanceEntity()
VariableInstanceEntity(String name, TypedValue value, boolean isTransient)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearValueFields()
static VariableInstanceEntity
create(String name, TypedValue value, boolean isTransient)
static VariableInstanceEntity
createAndInsert(String name, TypedValue value)
void
delete()
protected void
deleteByteArrayValue()
protected void
ensureExecutionInitialized()
boolean
equals(Object obj)
String
getActivityInstanceId()
Returns the corresponding activity instance id.String
getBatchId()
Returns the corresponding batch id.byte[]
getByteArrayValue()
String
getByteArrayValueId()
CaseExecutionEntity
getCaseExecution()
String
getCaseExecutionId()
Returns the corresponding case execution id.String
getCaseInstanceId()
Returns the corresponding case instance id.protected ProcessApplicationReference
getContextProcessApplication()
Double
getDoubleValue()
String
getErrorMessage()
If the variable value could not be loaded, this returns the error message.ExecutionEntity
getExecution()
String
getExecutionId()
Returns the corresponding execution id.String
getId()
Long
getLongValue()
String
getName()
Returns the name of this variable instance.Object
getPersistentState()
Returns a representation of the object, as would be stored in the database.String
getProcessDefinitionId()
Return the corresponding process definition id.String
getProcessInstanceId()
Returns the corresponding process instance id.Map<String,Class>
getReferencedEntitiesIdAndClass()
Scope: IN-MEMORY referencesSet<String>
getReferencedEntityIds()
Scope: IN-MEMORY referencesint
getRevision()
int
getRevisionNext()
long
getSequenceCounter()
TypedValueSerializer<?>
getSerializer()
String
getSerializerName()
protected TaskEntity
getTask()
String
getTaskId()
Returns the corresponding task id.String
getTenantId()
The id of the tenant this variable belongs to.String
getTextValue()
String
getTextValue2()
TypedValue
getTypedValue()
Returns the TypedValue of this variable instance.TypedValue
getTypedValue(boolean deserializeValue)
String
getTypeName()
Returns the name of the type of this variable instanceObject
getValue()
Returns the value of this variable instance.protected VariableScope
getVariableScope()
String
getVariableScopeId()
int
hashCode()
void
incrementSequenceCounter()
static void
insert(VariableInstanceEntity variableInstance)
boolean
isConcurrentLocal()
boolean
isTransient()
void
onImplicitValueUpdate(TypedValue updatedValue)
Called when an implicit update to a typed value is detectedvoid
postLoad()
void
setActivityInstanceId(String activityInstanceId)
void
setBatchId(String batchId)
void
setByteArrayValue(byte[] bytes)
void
setByteArrayValueId(String byteArrayValueId)
void
setCaseExecution(CaseExecutionEntity caseExecution)
void
setCaseExecutionId(String caseExecutionId)
void
setCaseInstanceId(String caseInstanceId)
void
setConcurrentLocal(boolean isConcurrentLocal)
void
setDoubleValue(Double doubleValue)
void
setExecution(ExecutionEntity execution)
void
setExecutionId(String executionId)
void
setId(String id)
void
setLongValue(Long longValue)
void
setName(String name)
void
setProcessDefinitionId(String processDefinitionId)
void
setProcessInstanceId(String processInstanceId)
void
setRevision(int revision)
void
setSequenceCounter(long sequenceCounter)
void
setSerializer(TypedValueSerializer<?> serializer)
void
setSerializerName(String type)
void
setTask(TaskEntity task)
void
setTaskId(String taskId)
void
setTenantId(String tenantId)
void
setTextValue(String textValue)
void
setTextValue2(String textValue2)
void
setTransient(boolean isTransient)
void
setValue(TypedValue value)
void
setVariableScopeId(String variableScopeId)
String
toString()
boolean
wasCreatedBefore713()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.camunda.bpm.engine.impl.db.HasDbReferences
getDependentEntities
-
-
-
-
Field Detail
-
LOG
protected static final EnginePersistenceLogger LOG
-
id
protected String id
-
revision
protected int revision
-
name
protected String name
-
processDefinitionId
protected String processDefinitionId
-
processInstanceId
protected String processInstanceId
-
executionId
protected String executionId
-
taskId
protected String taskId
-
batchId
protected String batchId
-
caseInstanceId
protected String caseInstanceId
-
caseExecutionId
protected String caseExecutionId
-
activityInstanceId
protected String activityInstanceId
-
tenantId
protected String tenantId
-
longValue
protected Long longValue
-
doubleValue
protected Double doubleValue
-
textValue
protected String textValue
-
textValue2
protected String textValue2
-
variableScopeId
protected String variableScopeId
-
byteArrayField
protected ByteArrayField byteArrayField
-
typedValueField
protected TypedValueField typedValueField
-
configuration
protected String configuration
-
sequenceCounter
protected long sequenceCounter
-
isConcurrentLocal
protected boolean isConcurrentLocal
Determines whether this variable is supposed to be a local variable in case of concurrency in its scope. This affects
- tree expansion (not evaluated yet by the engine)
- activity instance IDs of variable instances: concurrentLocal variables always receive the activity instance id of their execution (which may not be the scope execution), while non-concurrentLocal variables always receive the activity instance id of their scope (which is set in the parent execution)
In the future, this field could be used for restoring the variable distribution when the tree is expanded/compacted multiple times. On expansion, the goal would be to keep concurrentLocal variables always with their concurrent replacing executions while non-concurrentLocal variables stay in the scope execution
-
isTransient
protected boolean isTransient
Determines whether this variable is stored in the data base.
-
execution
protected ExecutionEntity execution
-
-
Constructor Detail
-
VariableInstanceEntity
public VariableInstanceEntity()
-
VariableInstanceEntity
public VariableInstanceEntity(String name, TypedValue value, boolean isTransient)
-
-
Method Detail
-
createAndInsert
public static VariableInstanceEntity createAndInsert(String name, TypedValue value)
-
insert
public static void insert(VariableInstanceEntity variableInstance)
-
create
public static VariableInstanceEntity create(String name, TypedValue value, boolean isTransient)
-
delete
public void delete()
-
getPersistentState
public Object getPersistentState()
Description copied from interface:DbEntity
Returns a representation of the object, as would be stored in the database. Used when deciding if updates have occurred to the object or not since it was last loaded.- Specified by:
getPersistentState
in interfaceDbEntity
-
getRevisionNext
public int getRevisionNext()
- Specified by:
getRevisionNext
in interfaceHasDbRevision
-
setProcessInstanceId
public void setProcessInstanceId(String processInstanceId)
-
setProcessDefinitionId
public void setProcessDefinitionId(String processDefinitionId)
-
setExecutionId
public void setExecutionId(String executionId)
-
setCaseInstanceId
public void setCaseInstanceId(String caseInstanceId)
-
setCaseExecutionId
public void setCaseExecutionId(String caseExecutionId)
-
setCaseExecution
public void setCaseExecution(CaseExecutionEntity caseExecution)
-
getByteArrayValueId
public String getByteArrayValueId()
-
setByteArrayValueId
public void setByteArrayValueId(String byteArrayValueId)
-
getByteArrayValue
public byte[] getByteArrayValue()
- Specified by:
getByteArrayValue
in interfaceValueFields
-
setByteArrayValue
public void setByteArrayValue(byte[] bytes)
- Specified by:
setByteArrayValue
in interfaceValueFields
-
deleteByteArrayValue
protected void deleteByteArrayValue()
-
getValue
public Object getValue()
Description copied from interface:VariableInstance
Returns the value of this variable instance.- Specified by:
getValue
in interfaceVariableInstance
-
getTypedValue
public TypedValue getTypedValue()
Description copied from interface:VariableInstance
Returns the TypedValue of this variable instance.- Specified by:
getTypedValue
in interfaceVariableInstance
-
getTypedValue
public TypedValue getTypedValue(boolean deserializeValue)
- Specified by:
getTypedValue
in interfaceCoreVariableInstance
-
setValue
public void setValue(TypedValue value)
- Specified by:
setValue
in interfaceCoreVariableInstance
-
clearValueFields
public void clearValueFields()
-
getTypeName
public String getTypeName()
Description copied from interface:VariableInstance
Returns the name of the type of this variable instance- Specified by:
getTypeName
in interfaceVariableInstance
- Returns:
- the type name of the variable
-
postLoad
public void postLoad()
- Specified by:
postLoad
in interfaceDbEntityLifecycleAware
-
ensureExecutionInitialized
protected void ensureExecutionInitialized()
-
getExecution
public ExecutionEntity getExecution()
-
setExecution
public void setExecution(ExecutionEntity execution)
-
getCaseExecution
public CaseExecutionEntity getCaseExecution()
-
getId
public String getId()
- Specified by:
getId
in interfaceDbEntity
- Specified by:
getId
in interfaceVariableInstance
- Returns:
- the Id of this variable instance
-
getTextValue
public String getTextValue()
- Specified by:
getTextValue
in interfaceValueFields
-
getProcessInstanceId
public String getProcessInstanceId()
Description copied from interface:VariableInstance
Returns the corresponding process instance id.- Specified by:
getProcessInstanceId
in interfaceVariableInstance
-
getProcessDefinitionId
public String getProcessDefinitionId()
Description copied from interface:VariableInstance
Return the corresponding process definition id.- Specified by:
getProcessDefinitionId
in interfaceVariableInstance
-
getExecutionId
public String getExecutionId()
Description copied from interface:VariableInstance
Returns the corresponding execution id.- Specified by:
getExecutionId
in interfaceVariableInstance
-
getCaseInstanceId
public String getCaseInstanceId()
Description copied from interface:VariableInstance
Returns the corresponding case instance id.- Specified by:
getCaseInstanceId
in interfaceVariableInstance
-
getCaseExecutionId
public String getCaseExecutionId()
Description copied from interface:VariableInstance
Returns the corresponding case execution id.- Specified by:
getCaseExecutionId
in interfaceVariableInstance
-
getLongValue
public Long getLongValue()
- Specified by:
getLongValue
in interfaceValueFields
-
setLongValue
public void setLongValue(Long longValue)
- Specified by:
setLongValue
in interfaceValueFields
-
getDoubleValue
public Double getDoubleValue()
- Specified by:
getDoubleValue
in interfaceValueFields
-
setDoubleValue
public void setDoubleValue(Double doubleValue)
- Specified by:
setDoubleValue
in interfaceValueFields
-
setName
public void setName(String name)
-
setTextValue
public void setTextValue(String textValue)
- Specified by:
setTextValue
in interfaceValueFields
-
getName
public String getName()
Description copied from interface:VariableInstance
Returns the name of this variable instance.- Specified by:
getName
in interfaceCoreVariableInstance
- Specified by:
getName
in interfaceNameable
- Specified by:
getName
in interfaceVariableInstance
-
getRevision
public int getRevision()
- Specified by:
getRevision
in interfaceHasDbRevision
-
setRevision
public void setRevision(int revision)
- Specified by:
setRevision
in interfaceHasDbRevision
-
setSerializer
public void setSerializer(TypedValueSerializer<?> serializer)
-
setSerializerName
public void setSerializerName(String type)
-
getSerializer
public TypedValueSerializer<?> getSerializer()
-
getTextValue2
public String getTextValue2()
- Specified by:
getTextValue2
in interfaceValueFields
-
setTextValue2
public void setTextValue2(String textValue2)
- Specified by:
setTextValue2
in interfaceValueFields
-
getTaskId
public String getTaskId()
Description copied from interface:VariableInstance
Returns the corresponding task id.- Specified by:
getTaskId
in interfaceVariableInstance
-
setTaskId
public void setTaskId(String taskId)
-
getBatchId
public String getBatchId()
Description copied from interface:VariableInstance
Returns the corresponding batch id.- Specified by:
getBatchId
in interfaceVariableInstance
-
setBatchId
public void setBatchId(String batchId)
-
setTask
public void setTask(TaskEntity task)
-
getActivityInstanceId
public String getActivityInstanceId()
Description copied from interface:VariableInstance
Returns the corresponding activity instance id.- Specified by:
getActivityInstanceId
in interfaceVariableInstance
-
setActivityInstanceId
public void setActivityInstanceId(String activityInstanceId)
-
getSerializerName
public String getSerializerName()
-
getErrorMessage
public String getErrorMessage()
Description copied from interface:VariableInstance
If the variable value could not be loaded, this returns the error message.- Specified by:
getErrorMessage
in interfaceVariableInstance
- Returns:
- an error message indicating why the variable value could not be loaded.
-
getVariableScopeId
public String getVariableScopeId()
-
setVariableScopeId
public void setVariableScopeId(String variableScopeId)
-
getVariableScope
protected VariableScope getVariableScope()
-
getTask
protected TaskEntity getTask()
-
getSequenceCounter
public long getSequenceCounter()
-
setSequenceCounter
public void setSequenceCounter(long sequenceCounter)
-
incrementSequenceCounter
public void incrementSequenceCounter()
-
isConcurrentLocal
public boolean isConcurrentLocal()
-
setConcurrentLocal
public void setConcurrentLocal(boolean isConcurrentLocal)
-
onImplicitValueUpdate
public void onImplicitValueUpdate(TypedValue updatedValue)
Description copied from interface:TypedValueUpdateListener
Called when an implicit update to a typed value is detected- Specified by:
onImplicitValueUpdate
in interfaceTypedValueUpdateListener
-
getContextProcessApplication
protected ProcessApplicationReference getContextProcessApplication()
-
setTransient
public void setTransient(boolean isTransient)
- Parameters:
isTransient
-true
, if the variable is not stored in the data base. Default isfalse
.
-
isTransient
public boolean isTransient()
- Returns:
true
, if the variable is transient. A transient variable is not stored in the data base.
-
getTenantId
public String getTenantId()
Description copied from interface:VariableInstance
The id of the tenant this variable belongs to. Can benull
if the variable belongs to no single tenant.- Specified by:
getTenantId
in interfaceVariableInstance
-
setTenantId
public void setTenantId(String tenantId)
-
getReferencedEntityIds
public Set<String> getReferencedEntityIds()
Description copied from interface:HasDbReferences
Scope: IN-MEMORY references
- Specified by:
getReferencedEntityIds
in interfaceHasDbReferences
- Returns:
- the ids of the entities that this entity references. Should only return ids for entities of the same type
-
getReferencedEntitiesIdAndClass
public Map<String,Class> getReferencedEntitiesIdAndClass()
Description copied from interface:HasDbReferences
Scope: IN-MEMORY references
- Specified by:
getReferencedEntitiesIdAndClass
in interfaceHasDbReferences
- Returns:
- a map of the ids and the entities' classes that this entity references. It's used when trying to determine if there was an Optimistic Locking occurrence on an INSERT or UPDATE of an object of this type.
-
wasCreatedBefore713
public boolean wasCreatedBefore713()
- Returns:
true
processDefinitionId
is introduced in 7.13, the check is used to created missing history atLegacyBehavior#createMissingHistoricVariables
-
-