OCLOperators collectNested
No edit summary
No edit summary
Line 2: Line 2:
Returns a collection containing all the elements contained in self on which we applied the OclExpression expr. The results won't be flattened. The type of the resulting collection depends on the type of self.
Returns a collection containing all the elements contained in self on which we applied the OclExpression expr. The results won't be flattened. The type of the resulting collection depends on the type of self.


For the purpose of this example, we'll assume here that we have a Class *Person* with a reference *children*. Our model contains two persons such as *person1.children = {James, Jane}* and *person2.children = {John}*.
For the purpose of this example, we'll assume here that we have a Class <code>Person</code> with a reference <code>children</code>. Our model contains two persons such as <code>person1.children = {James, Jane}</code> and <code>person2.children = {John}</code>.
{| class="wikitable"
{| class="wikitable"
!Expression
!Expression
Line 10: Line 10:
|<nowiki>Sequence{Sequence{James, Jane}, Sequence{John}}</nowiki>
|<nowiki>Sequence{Sequence{James, Jane}, Sequence{John}}</nowiki>
|}
|}
[[Category:OCLOperators]]
[[Category:OCL Collection Operators]]

Revision as of 06:09, 2 May 2023

collectNested ( expr : OclExpression ) : Collection(T2)

Returns a collection containing all the elements contained in self on which we applied the OclExpression expr. The results won't be flattened. The type of the resulting collection depends on the type of self.

For the purpose of this example, we'll assume here that we have a Class Person with a reference children. Our model contains two persons such as person1.children = {James, Jane} and person2.children = {John}.

Expression Result
self.persons->collectNested(children.firstname) Sequence{Sequence{James, Jane}, Sequence{John}}
This page was edited 100 days ago on 02/10/2024. What links here