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:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringprotected Stringprotected ByteArrayFieldprotected Stringprotected Stringprotected Stringprotected Doubleprotected ExecutionEntityprotected Stringprotected Stringprotected booleanDetermines whether this variable is supposed to be a local variable in case of concurrency in its scope.protected booleanDetermines whether this variable is stored in the data base.protected static final EnginePersistenceLoggerprotected Longprotected Stringprotected Stringprotected Stringprotected intprotected longprotected Stringprotected Stringprotected Stringprotected Stringprotected TypedValueFieldprotected String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclearValueFields(boolean deleteVariable) static VariableInstanceEntitycreate(String name, TypedValue value, boolean isTransient) static VariableInstanceEntitycreateAndInsert(String name, TypedValue value) voiddelete()protected voidprotected voidbooleanReturns the corresponding activity instance id.Returns the corresponding batch id.byte[]Returns the corresponding case execution id.Returns the corresponding case instance id.protected ProcessApplicationReferenceIf the variable value could not be loaded, this returns the error message.Returns the corresponding execution id.protected VariableSerializerFactorygetId()getName()Returns the name of this variable instance.Returns a representation of the object, as would be stored in the database.Return the corresponding process definition id.Returns the corresponding process instance id.Scope: IN-MEMORY referencesScope: IN-MEMORY referencesintintlongprotected TaskEntitygetTask()Returns the corresponding task id.The id of the tenant this variable belongs to.Returns the TypedValue of this variable instance.getTypedValue(boolean deserializeValue) Returns the name of the type of this variable instancegetValue()Returns the value of this variable instance.protected VariableScopeinthashCode()voidstatic voidinsert(VariableInstanceEntity variableInstance) booleanprotected booleanisObjectTyped(ValueType newType, String oldTypeAsString) The engine should only remove byte arrays in case the type changes but keep it when old and new types are object.booleanvoidonImplicitValueUpdate(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) voidvoidsetLongValue(Long longValue) voidvoidsetProcessDefinitionId(String processDefinitionId) voidsetProcessInstanceId(String processInstanceId) voidsetRevision(int revision) voidsetSequenceCounter(long sequenceCounter) voidsetSerializer(TypedValueSerializer<?> serializer) voidsetSerializerName(String type) voidsetTask(TaskEntity task) voidvoidsetTenantId(String tenantId) voidsetTextValue(String textValue) voidsetTextValue2(String textValue2) voidsetTransient(boolean isTransient) voidsetValue(TypedValue value) voidsetVariableScopeId(String variableScopeId) toString()booleanMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.camunda.bpm.engine.impl.db.HasDbReferences
getDependentEntities
-
Field Details
-
LOG
-
id
-
revision
protected int revision -
name
-
processDefinitionId
-
processInstanceId
-
executionId
-
taskId
-
batchId
-
caseInstanceId
-
caseExecutionId
-
activityInstanceId
-
tenantId
-
longValue
-
doubleValue
-
textValue
-
textValue2
-
variableScopeId
-
byteArrayField
-
typedValueField
-
configuration
-
sequenceCounter
protected long sequenceCounter -
isConcurrentLocal
protected boolean isConcurrentLocalDetermines 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 isTransientDetermines whether this variable is stored in the data base. -
execution
-
-
Constructor Details
-
VariableInstanceEntity
public VariableInstanceEntity() -
VariableInstanceEntity
-
-
Method Details
-
createAndInsert
-
insert
-
create
-
delete
public void delete() -
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
-
setProcessDefinitionId
-
setExecutionId
-
setCaseInstanceId
-
setCaseExecutionId
-
setCaseExecution
-
getByteArrayValueId
-
setByteArrayValueId
-
getByteArrayValue
public byte[] getByteArrayValue()- Specified by:
getByteArrayValuein interfaceValueFields
-
setByteArrayValue
public void setByteArrayValue(byte[] bytes) - Specified by:
setByteArrayValuein interfaceValueFields
-
deleteByteArrayValue
protected void deleteByteArrayValue() -
getValue
Description copied from interface:VariableInstanceReturns the value of this variable instance.- Specified by:
getValuein interfaceVariableInstance
-
getTypedValue
Description copied from interface:VariableInstanceReturns the TypedValue of this variable instance.- Specified by:
getTypedValuein interfaceVariableInstance
-
getTypedValue
- Specified by:
getTypedValuein interfaceCoreVariableInstance
-
setValue
- Specified by:
setValuein interfaceCoreVariableInstance
-
isObjectTyped
The engine should only remove byte arrays in case the type changes but keep it when old and new types are object.- Parameters:
newType- of the variable overriding the old.oldTypeAsString- of the variable previously set.- Returns:
trueif old and new variable are both object typed.
-
getFallbackSerializerFactory
-
clearValueFields
public void clearValueFields(boolean deleteVariable) -
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
-
setExecution
-
getCaseExecution
-
getId
- Specified by:
getIdin interfaceDbEntity- Specified by:
getIdin interfaceVariableInstance- Returns:
- the Id of this variable instance
-
setId
-
getTextValue
- Specified by:
getTextValuein interfaceValueFields
-
getProcessInstanceId
Description copied from interface:VariableInstanceReturns the corresponding process instance id.- Specified by:
getProcessInstanceIdin interfaceVariableInstance
-
getProcessDefinitionId
Description copied from interface:VariableInstanceReturn the corresponding process definition id.- Specified by:
getProcessDefinitionIdin interfaceVariableInstance
-
getExecutionId
Description copied from interface:VariableInstanceReturns the corresponding execution id.- Specified by:
getExecutionIdin interfaceVariableInstance
-
getCaseInstanceId
Description copied from interface:VariableInstanceReturns the corresponding case instance id.- Specified by:
getCaseInstanceIdin interfaceVariableInstance
-
getCaseExecutionId
Description copied from interface:VariableInstanceReturns the corresponding case execution id.- Specified by:
getCaseExecutionIdin interfaceVariableInstance
-
getLongValue
- Specified by:
getLongValuein interfaceValueFields
-
setLongValue
- Specified by:
setLongValuein interfaceValueFields
-
getDoubleValue
- Specified by:
getDoubleValuein interfaceValueFields
-
setDoubleValue
- Specified by:
setDoubleValuein interfaceValueFields
-
setName
-
setTextValue
- Specified by:
setTextValuein interfaceValueFields
-
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
-
setSerializerName
-
getSerializer
-
getTextValue2
- Specified by:
getTextValue2in interfaceValueFields
-
setTextValue2
- Specified by:
setTextValue2in interfaceValueFields
-
getTaskId
Description copied from interface:VariableInstanceReturns the corresponding task id.- Specified by:
getTaskIdin interfaceVariableInstance
-
setTaskId
-
getBatchId
Description copied from interface:VariableInstanceReturns the corresponding batch id.- Specified by:
getBatchIdin interfaceVariableInstance
-
setBatchId
-
setTask
-
getActivityInstanceId
Description copied from interface:VariableInstanceReturns the corresponding activity instance id.- Specified by:
getActivityInstanceIdin interfaceVariableInstance
-
setActivityInstanceId
-
getSerializerName
-
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
-
setVariableScopeId
-
getVariableScope
-
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
Description copied from interface:TypedValueUpdateListenerCalled when an implicit update to a typed value is detected- Specified by:
onImplicitValueUpdatein interfaceTypedValueUpdateListener
-
getContextProcessApplication
-
toString
-
hashCode
public int hashCode() -
equals
-
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
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
-
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
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
-