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)