Extensions.EventHandling.GetNewValue

From emotive
Jump to navigation Jump to search

Classification

Name GetNewValue
Short Description Return the value that was stored in the given event
Class Term
Extension OTX EventHandling extension
Group Event source property related terms
Exceptions TypeMismatchException
Checker Rules -
Standard Compliant Yes

OTL Syntax

Term EventHandling.GetNewValue(EventTerm event);

Description

The OTX GetNewValue term will only be applied to events which were fired by a MonitorChangeEventSource or one of its descendants. The term will return the value which was stored in the given Event; that value represents a snapshot of the monitored variable's new value at the time when the event was fired. The term is useful to find out which new value a variable had after it changed.

Exclamation.png Important: Because of it the data type of the variable, the monitor change by event source depends was monitored, the return type is getNewValue usually not known at the authors. Therefore, type-safety of this term not be verified statically. Runtime exceptions can occur if the results of that term in the wrong place, for example when using. otx:ToInteger to a value that can not be converted to integer.

Return Value

The Term returns the value, see table below.

Icons Note.png In OTX, Terms are categorized according to its return data type!
Data Type Description
BlackBox The value that was stored in the given event.

Properties

Name Data Type Class Default Cardinality Description
Event Event Term - [1] Represents the monitor change event from which the new value of the formerly monitored variable at the time of value change will be returned.

OTL Examples

/// Local Declarations

EventHandling.Event Event1;
String Variable1 = "String";
EventHandling.EventSource EventSource1;
BlackBox.BlackBox BlackBox1;

/// Flow

EventSource1 = EventHandling.MonitorChangeEventSource(Variable1);

parallel
{
	lane
	{
		EventHandling.WaitForEvent({EventSource1}, Event1);
	}
	lane
	{
		Variable1 = "String changed";
	}
}

BlackBox1 = EventHandling.GetNewValue(Event1);

See also

IsMonitorChangeEvent
IsThresholdExceededEvent
IsTimerExpiredEvent