public virtual void RemoveVariables() { foreach (var variableInstance in VariableStore.Variables) { InvokeVariableLifecycleListenersDelete(variableInstance, SourceActivityVariableScope); } VariableStore.RemoveVariables(); }
protected internal virtual void RemoveVariableLocal(string variableName, AbstractVariableScope sourceActivityExecution) { if (VariableStore.ContainsKey(variableName)) { var variableInstance = VariableStore.GetVariable(variableName); InvokeVariableLifecycleListenersDelete(variableInstance, sourceActivityExecution); VariableStore.RemoveVariable(variableName); } }
public virtual void SetVariableLocal(string variableName, ITypedValue value, AbstractVariableScope sourceActivityExecution) { var variableStore = VariableStore; if (variableStore.ContainsKey(variableName)) { var existingInstance = variableStore.GetVariable(variableName); existingInstance.SetValue(value); InvokeVariableLifecycleListenersUpdate(existingInstance, sourceActivityExecution); } else { var variableValue = VariableInstanceFactory.Build(variableName, value, false); VariableStore.AddVariable(variableValue as VariableInstanceEntity); InvokeVariableLifecycleListenersCreate(variableValue, sourceActivityExecution); } }
protected internal virtual void RemoveVariable(string variableName, AbstractVariableScope sourceActivityExecution) { if (VariableStore.ContainsKey(variableName)) { RemoveVariableLocal(variableName, sourceActivityExecution); return; } var parentVariableScope = ParentVariableScope; if (parentVariableScope != null) { if (sourceActivityExecution == null) { parentVariableScope.RemoveVariable(variableName); } else { parentVariableScope.RemoveVariable(variableName, sourceActivityExecution); } } }
/// <summary> /// Sets a variable in the local scope. In contrast to /// <seealso cref="#setVariableLocal(String, Object)" />, the variable is transient that /// means it will not be stored in the data base. For example, a transient /// variable can be used for a result variable that is only available for /// output mapping. /// </summary> public virtual void SetVariableLocalTransient(string variableName, object value) { ITypedValue typedValue = Engine.Variable.Variables.UnTypedValue(value); VariableStore.AddVariable(VariableInstanceFactory.Build(variableName, typedValue, true)); }
public virtual ICoreVariableInstance GetVariableInstanceLocal(string name) { return(VariableStore.GetVariable(name)); }
public virtual bool HasVariableLocal(string variableName) { return(VariableStore.ContainsKey(variableName)); }