Added tagged values to attributes based on the class' tagged values
No edit summary |
No edit summary |
||
Line 18: | Line 18: | ||
) | ) | ||
[[Category:Tagged Values]] | [[Category:Tagged Values]] | ||
[[Category:Advanced]] | [[Category:Advanced]] |
Revision as of 06:19, 7 September 2023
This EAL code will add the tagged value "PrimaryKey" to the attribute on the class that matches the class' primary key (which itself is stored as a tagged value).
TaggedValue.allInstances-> select(tv|tv.Tag='Eco.PrimaryKey')-> collect(tv | tv.ModelElement->safeCast(Class).Feature->filterOnType(Attribute)->select(a|a.TaggedValue->select(atv|(atv.Tag='Eco.ColumnName') and (atv.Value=tv.Value) )->notEmpty)-> collect(pka | if pka.TaggedValue->select(atv| atv.Tag='Eco.ColumnName')->isEmpty then let pktv = TaggedValue.Create in ( pktv.Tag := 'PrimaryKey'; pktv.Value := 'true'; pka.TaggedValue.add(pktv) ); true else false endif ) )
This page was edited 132 days ago on 01/09/2024. What links here