Extensions.DataType.Enumeration

From emotive
Jump to navigation Jump to search

Classification

Name Enumeration
Short Description User-defined enumeration
Class Simple Data Type
Base Data Type SimpleType
Default Value The first enumeration element
Provide a Literal Yes
SpecifiedBy ISO 13209-3
Standard Compliant Yes

Description

An Enumeration consists of a set of named constants called enumeration elements. Each enumeration element assigns a unique name to a unique IntergerLiteral, so that the name can be used as an EnumerationLiteral inside OTX instead of the integer value. The simple term of the enumerator value is its integer value. Thus, for relational terms, the integer values of the specific enumerator value are used.

Literal

Enumeration values are named constants. Therefore the EnumerationLiteral term will return a reference to the value of the constant that has the name provided in the EnumerationLiteral's elementName field.

EnumerationSignature1.EnumerationElement1

Core Conversion

The following table shows the rules for conversion to another data type:

Conversion Result Sample
ToBoolean Undefined (should not be used)
ToInteger Returns the integer value of the enumeration term Integer n = ToInteger(enumerationSignatureVariable); // Returns 12 (supposed the current enumeration element's value is 12)
ToFloat Undefined (should not be used)
ToString Returns the name of current enumeration element String s = ToString(enumerationSignatureVariable); // Returns "EnumerationElement1"
ToByteField Undefined (should not be used)

Checker Rules

DataType_Chk002
Core_Chk053

Sample

package DataType.EnumerationSignature EnumerationSignature1(Integer EnumerationElement1 = 3, Integer EnumerationElement2 = 5, Integer EnumerationElement3 = 7, Integer EnumerationElement4 = 9);

/// Global Declarations

public procedure main()
{
	/// Local Declarations

	EnumerationSignature1 Enumeration1 = EnumerationSignature1.EnumerationElement1;
}