protected internal virtual void InvokeVariableLifecycleListenersUpdate(ICoreVariableInstance variableInstance, AbstractVariableScope sourceScope, IList <IVariableInstanceLifecycleListener <ICoreVariableInstance> > lifecycleListeners) { foreach (var lifecycleListener in lifecycleListeners) { lifecycleListener.OnUpdate(variableInstance, sourceScope); } }
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); } } }
protected internal virtual void SetVariable(string variableName, ITypedValue value, AbstractVariableScope sourceActivityVariableScope) { if (HasVariableLocal(variableName)) { SetVariableLocal(variableName, value, sourceActivityVariableScope); return; } var parentVariableScope = ParentVariableScope; if (parentVariableScope != null) { if (sourceActivityVariableScope == null) { parentVariableScope.SetVariable(variableName, value); } else { parentVariableScope.SetVariable(variableName, value, sourceActivityVariableScope); } return; } SetVariableLocal(variableName, value, sourceActivityVariableScope); }
protected internal virtual void InvokeVariableLifecycleListenersUpdate(ICoreVariableInstance variableInstance, AbstractVariableScope sourceScope) { InvokeVariableLifecycleListenersUpdate(variableInstance, sourceScope, VariableInstanceLifecycleListeners); }
public virtual void OnDelete(ICoreVariableInstance variable, AbstractVariableScope sourceScope) { HandleEvent(new VariableEvent((ICoreVariableInstance)variable, VariableListenerFields.Delete, sourceScope)); }
public VariableListenerInvocationListener(AbstractVariableScope targetScope) { this.TargetScope = targetScope; }