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 StringactivityInstanceIdprotected StringbatchIdprotected ByteArrayFieldbyteArrayFieldprotected StringcaseExecutionIdprotected StringcaseInstanceIdprotected Stringconfigurationprotected DoubledoubleValueprotected ExecutionEntityexecutionprotected StringexecutionIdprotected Stringidprotected booleanisConcurrentLocalDetermines whether this variable is supposed to be a local variable in case of concurrency in its scope.protected booleanisTransientDetermines whether this variable is stored in the data base.protected static EnginePersistenceLoggerLOGprotected LonglongValueprotected Stringnameprotected StringprocessDefinitionIdprotected StringprocessInstanceIdprotected intrevisionprotected longsequenceCounterprotected StringtaskIdprotected StringtenantIdprotected StringtextValueprotected StringtextValue2protected TypedValueFieldtypedValueFieldprotected StringvariableScopeId
-
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 voidclearValueFields()static VariableInstanceEntitycreate(String name, TypedValue value, boolean isTransient)static VariableInstanceEntitycreateAndInsert(String name, TypedValue value)voiddelete()protected voiddeleteByteArrayValue()protected voidensureExecutionInitialized()booleanequals(Object obj)StringgetActivityInstanceId()Returns the corresponding activity instance id.StringgetBatchId()Returns the corresponding batch id.byte[]getByteArrayValue()StringgetByteArrayValueId()CaseExecutionEntitygetCaseExecution()StringgetCaseExecutionId()Returns the corresponding case execution id.StringgetCaseInstanceId()Returns the corresponding case instance id.protected ProcessApplicationReferencegetContextProcessApplication()DoublegetDoubleValue()StringgetErrorMessage()If the variable value could not be loaded, this returns the error message.ExecutionEntitygetExecution()StringgetExecutionId()Returns the corresponding execution id.StringgetId()LonggetLongValue()StringgetName()Returns the name of this variable instance.ObjectgetPersistentState()Returns a representation of the object, as would be stored in the database.StringgetProcessDefinitionId()Return the corresponding process definition id.StringgetProcessInstanceId()Returns the corresponding process instance id.Map<String,Class>getReferencedEntitiesIdAndClass()Scope: IN-MEMORY referencesSet<String>getReferencedEntityIds()Scope: IN-MEMORY referencesintgetRevision()intgetRevisionNext()longgetSequenceCounter()TypedValueSerializer<?>getSerializer()StringgetSerializerName()protected TaskEntitygetTask()StringgetTaskId()Returns the corresponding task id.StringgetTenantId()The id of the tenant this variable belongs to.StringgetTextValue()StringgetTextValue2()TypedValuegetTypedValue()Returns the TypedValue of this variable instance.TypedValuegetTypedValue(boolean deserializeValue)StringgetTypeName()Returns the name of the type of this variable instanceObjectgetValue()Returns the value of this variable instance.protected VariableScopegetVariableScope()StringgetVariableScopeId()inthashCode()voidincrementSequenceCounter()static voidinsert(VariableInstanceEntity variableInstance)booleanisConcurrentLocal()booleanisTransient()voidonImplicitValueUpdate(TypedValue updatedValue)Called when an implicit update to a typed value is detectedvoidpostLoad()voidsetActivityInstanceId(String activityInstanceId)voidsetBatchId(String batchId)voidsetByteArrayValue(byte[] bytes)voidsetByteArrayValueId(String byteArrayValueId)voidsetCaseExecution(CaseExecutionEntity caseExecution)voidsetCaseExecutionId(String caseExecutionId)voidsetCaseInstanceId(String caseInstanceId)voidsetConcurrentLocal(boolean isConcurrentLocal)voidsetDoubleValue(Double doubleValue)voidsetExecution(ExecutionEntity execution)voidsetExecutionId(String executionId)voidsetId(String id)voidsetLongValue(Long longValue)voidsetName(String name)voidsetProcessDefinitionId(String processDefinitionId)voidsetProcessInstanceId(String processInstanceId)voidsetRevision(int revision)voidsetSequenceCounter(long sequenceCounter)voidsetSerializer(TypedValueSerializer<?> serializer)voidsetSerializerName(String type)voidsetTask(TaskEntity task)voidsetTaskId(String taskId)voidsetTenantId(String tenantId)voidsetTextValue(String textValue)voidsetTextValue2(String textValue2)voidsetTransient(boolean isTransient)voidsetValue(TypedValue value)voidsetVariableScopeId(String variableScopeId)StringtoString()booleanwasCreatedBefore713()-
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:DbEntityReturns 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:
getPersistentStatein interfaceDbEntity
-
getRevisionNext
public int getRevisionNext()
- Specified by:
getRevisionNextin 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:
getByteArrayValuein interfaceValueFields
-
setByteArrayValue
public void setByteArrayValue(byte[] bytes)
- Specified by:
setByteArrayValuein interfaceValueFields
-
deleteByteArrayValue
protected void deleteByteArrayValue()
-
getValue
public Object getValue()
Description copied from interface:VariableInstanceReturns the value of this variable instance.- Specified by:
getValuein interfaceVariableInstance
-
getTypedValue
public TypedValue getTypedValue()
Description copied from interface:VariableInstanceReturns the TypedValue of this variable instance.- Specified by:
getTypedValuein interfaceVariableInstance
-
getTypedValue
public TypedValue getTypedValue(boolean deserializeValue)
- Specified by:
getTypedValuein interfaceCoreVariableInstance
-
setValue
public void setValue(TypedValue value)
- Specified by:
setValuein interfaceCoreVariableInstance
-
clearValueFields
public void clearValueFields()
-
getTypeName
public String getTypeName()
Description copied from interface:VariableInstanceReturns the name of the type of this variable instance- Specified by:
getTypeNamein interfaceVariableInstance- Returns:
- the type name of the variable
-
postLoad
public void postLoad()
- Specified by:
postLoadin 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:
getIdin interfaceDbEntity- Specified by:
getIdin interfaceVariableInstance- Returns:
- the Id of this variable instance
-
getTextValue
public String getTextValue()
- Specified by:
getTextValuein interfaceValueFields
-
getProcessInstanceId
public String getProcessInstanceId()
Description copied from interface:VariableInstanceReturns the corresponding process instance id.- Specified by:
getProcessInstanceIdin interfaceVariableInstance
-
getProcessDefinitionId
public String getProcessDefinitionId()
Description copied from interface:VariableInstanceReturn the corresponding process definition id.- Specified by:
getProcessDefinitionIdin interfaceVariableInstance
-
getExecutionId
public String getExecutionId()
Description copied from interface:VariableInstanceReturns the corresponding execution id.- Specified by:
getExecutionIdin interfaceVariableInstance
-
getCaseInstanceId
public String getCaseInstanceId()
Description copied from interface:VariableInstanceReturns the corresponding case instance id.- Specified by:
getCaseInstanceIdin interfaceVariableInstance
-
getCaseExecutionId
public String getCaseExecutionId()
Description copied from interface:VariableInstanceReturns the corresponding case execution id.- Specified by:
getCaseExecutionIdin interfaceVariableInstance
-
getLongValue
public Long getLongValue()
- Specified by:
getLongValuein interfaceValueFields
-
setLongValue
public void setLongValue(Long longValue)
- Specified by:
setLongValuein interfaceValueFields
-
getDoubleValue
public Double getDoubleValue()
- Specified by:
getDoubleValuein interfaceValueFields
-
setDoubleValue
public void setDoubleValue(Double doubleValue)
- Specified by:
setDoubleValuein interfaceValueFields
-
setName
public void setName(String name)
-
setTextValue
public void setTextValue(String textValue)
- Specified by:
setTextValuein interfaceValueFields
-
getName
public String getName()
Description copied from interface:VariableInstanceReturns the name of this variable instance.- Specified by:
getNamein interfaceCoreVariableInstance- Specified by:
getNamein interfaceNameable- Specified by:
getNamein interfaceVariableInstance
-
getRevision
public int getRevision()
- Specified by:
getRevisionin interfaceHasDbRevision
-
setRevision
public void setRevision(int revision)
- Specified by:
setRevisionin interfaceHasDbRevision
-
setSerializer
public void setSerializer(TypedValueSerializer<?> serializer)
-
setSerializerName
public void setSerializerName(String type)
-
getSerializer
public TypedValueSerializer<?> getSerializer()
-
getTextValue2
public String getTextValue2()
- Specified by:
getTextValue2in interfaceValueFields
-
setTextValue2
public void setTextValue2(String textValue2)
- Specified by:
setTextValue2in interfaceValueFields
-
getTaskId
public String getTaskId()
Description copied from interface:VariableInstanceReturns the corresponding task id.- Specified by:
getTaskIdin interfaceVariableInstance
-
setTaskId
public void setTaskId(String taskId)
-
getBatchId
public String getBatchId()
Description copied from interface:VariableInstanceReturns the corresponding batch id.- Specified by:
getBatchIdin interfaceVariableInstance
-
setBatchId
public void setBatchId(String batchId)
-
setTask
public void setTask(TaskEntity task)
-
getActivityInstanceId
public String getActivityInstanceId()
Description copied from interface:VariableInstanceReturns the corresponding activity instance id.- Specified by:
getActivityInstanceIdin interfaceVariableInstance
-
setActivityInstanceId
public void setActivityInstanceId(String activityInstanceId)
-
getSerializerName
public String getSerializerName()
-
getErrorMessage
public String getErrorMessage()
Description copied from interface:VariableInstanceIf the variable value could not be loaded, this returns the error message.- Specified by:
getErrorMessagein 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:TypedValueUpdateListenerCalled when an implicit update to a typed value is detected- Specified by:
onImplicitValueUpdatein 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:VariableInstanceThe id of the tenant this variable belongs to. Can benullif the variable belongs to no single tenant.- Specified by:
getTenantIdin interfaceVariableInstance
-
setTenantId
public void setTenantId(String tenantId)
-
getReferencedEntityIds
public Set<String> getReferencedEntityIds()
Description copied from interface:HasDbReferencesScope: IN-MEMORY references
- Specified by:
getReferencedEntityIdsin 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:HasDbReferencesScope: IN-MEMORY references
- Specified by:
getReferencedEntitiesIdAndClassin 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:
trueprocessDefinitionIdis introduced in 7.13, the check is used to created missing history atLegacyBehavior#createMissingHistoricVariables
-
-