Protected Interface for Repeatable Attributes

In LN, the protected interface is implemented using setters and getters instead of function parameters.

In case of dimensions, arrays are not used, because then you cannot set or get individual elements. If element n is set, the other elements must not be set. Instead, an additional parameter is used for the element number. However, internally arrays are used for the corresponding ‘bl’ variables.

For a ‘normal’ attribute implementation, a setter function has this interface:

function extern 
long ppmmm.bl999st00.set.MyComponent.myAttribute(
		const	domain ppmmm.str1	i.value

For an array attribute implementation, the setter function will have this interface:

function extern 
long ppmmm.bl999st00.set.MyComponent.myAttribute(
				long				i.element,
		const	domain ppmmm.str1	i.value)

In the same way, the getter function will have this interface:

function extern 
long ppmmm.bl999st00.get.MyComponent.myAttribute(
				long				i.element,
		ref		domain ppmmm.str1	o.value)