aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src')
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilyTree.java38
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreeFactory.java51
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreePackage.java321
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/Member.java102
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilyTreeImpl.java153
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreeFactoryImpl.java109
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreePackageImpl.java251
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/MemberImpl.java334
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeAdapterFactory.java138
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeSwitch.java131
10 files changed, 1628 insertions, 0 deletions
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilyTree.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilyTree.java
new file mode 100644
index 00000000..408373a3
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilyTree.java
@@ -0,0 +1,38 @@
1/**
2 */
3package familytree;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Family Tree</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link familytree.FamilyTree#getMembers <em>Members</em>}</li>
19 * </ul>
20 *
21 * @see familytree.FamilytreePackage#getFamilyTree()
22 * @model
23 * @generated
24 */
25public interface FamilyTree extends EObject {
26 /**
27 * Returns the value of the '<em><b>Members</b></em>' containment reference list.
28 * The list contents are of type {@link familytree.Member}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Members</em>' containment reference list.
32 * @see familytree.FamilytreePackage#getFamilyTree_Members()
33 * @model containment="true"
34 * @generated
35 */
36 EList<Member> getMembers();
37
38} // FamilyTree
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreeFactory.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreeFactory.java
new file mode 100644
index 00000000..534da223
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreeFactory.java
@@ -0,0 +1,51 @@
1/**
2 */
3package familytree;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see familytree.FamilytreePackage
13 * @generated
14 */
15public interface FamilytreeFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 FamilytreeFactory eINSTANCE = familytree.impl.FamilytreeFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Family Tree</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Family Tree</em>'.
29 * @generated
30 */
31 FamilyTree createFamilyTree();
32
33 /**
34 * Returns a new object of class '<em>Member</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Member</em>'.
38 * @generated
39 */
40 Member createMember();
41
42 /**
43 * Returns the package supported by this factory.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return the package supported by this factory.
47 * @generated
48 */
49 FamilytreePackage getFamilytreePackage();
50
51} //FamilytreeFactory
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreePackage.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreePackage.java
new file mode 100644
index 00000000..572a0fe4
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreePackage.java
@@ -0,0 +1,321 @@
1/**
2 */
3package familytree;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EPackage;
8import org.eclipse.emf.ecore.EReference;
9
10/**
11 * <!-- begin-user-doc -->
12 * The <b>Package</b> for the model.
13 * It contains accessors for the meta objects to represent
14 * <ul>
15 * <li>each class,</li>
16 * <li>each feature of each class,</li>
17 * <li>each operation of each class,</li>
18 * <li>each enum,</li>
19 * <li>and each data type</li>
20 * </ul>
21 * <!-- end-user-doc -->
22 * @see familytree.FamilytreeFactory
23 * @model kind="package"
24 * @generated
25 */
26public interface FamilytreePackage extends EPackage {
27 /**
28 * The package name.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 String eNAME = "familytree";
34
35 /**
36 * The package namespace URI.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 String eNS_URI = "http://www.example.org/familytree";
42
43 /**
44 * The package namespace name.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @generated
48 */
49 String eNS_PREFIX = "familytree";
50
51 /**
52 * The singleton instance of the package.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 FamilytreePackage eINSTANCE = familytree.impl.FamilytreePackageImpl.init();
58
59 /**
60 * The meta object id for the '{@link familytree.impl.FamilyTreeImpl <em>Family Tree</em>}' class.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see familytree.impl.FamilyTreeImpl
64 * @see familytree.impl.FamilytreePackageImpl#getFamilyTree()
65 * @generated
66 */
67 int FAMILY_TREE = 0;
68
69 /**
70 * The feature id for the '<em><b>Members</b></em>' containment reference list.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 * @ordered
75 */
76 int FAMILY_TREE__MEMBERS = 0;
77
78 /**
79 * The number of structural features of the '<em>Family Tree</em>' class.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 * @ordered
84 */
85 int FAMILY_TREE_FEATURE_COUNT = 1;
86
87 /**
88 * The number of operations of the '<em>Family Tree</em>' class.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 * @ordered
93 */
94 int FAMILY_TREE_OPERATION_COUNT = 0;
95
96 /**
97 * The meta object id for the '{@link familytree.impl.MemberImpl <em>Member</em>}' class.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @see familytree.impl.MemberImpl
101 * @see familytree.impl.FamilytreePackageImpl#getMember()
102 * @generated
103 */
104 int MEMBER = 1;
105
106 /**
107 * The feature id for the '<em><b>Name</b></em>' attribute.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 * @ordered
112 */
113 int MEMBER__NAME = 0;
114
115 /**
116 * The feature id for the '<em><b>Age</b></em>' attribute.
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 * @ordered
121 */
122 int MEMBER__AGE = 1;
123
124 /**
125 * The feature id for the '<em><b>Children</b></em>' reference list.
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 * @ordered
130 */
131 int MEMBER__CHILDREN = 2;
132
133 /**
134 * The feature id for the '<em><b>Parents</b></em>' reference list.
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 * @ordered
139 */
140 int MEMBER__PARENTS = 3;
141
142 /**
143 * The number of structural features of the '<em>Member</em>' class.
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 * @ordered
148 */
149 int MEMBER_FEATURE_COUNT = 4;
150
151 /**
152 * The number of operations of the '<em>Member</em>' class.
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 * @ordered
157 */
158 int MEMBER_OPERATION_COUNT = 0;
159
160
161 /**
162 * Returns the meta object for class '{@link familytree.FamilyTree <em>Family Tree</em>}'.
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @return the meta object for class '<em>Family Tree</em>'.
166 * @see familytree.FamilyTree
167 * @generated
168 */
169 EClass getFamilyTree();
170
171 /**
172 * Returns the meta object for the containment reference list '{@link familytree.FamilyTree#getMembers <em>Members</em>}'.
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @return the meta object for the containment reference list '<em>Members</em>'.
176 * @see familytree.FamilyTree#getMembers()
177 * @see #getFamilyTree()
178 * @generated
179 */
180 EReference getFamilyTree_Members();
181
182 /**
183 * Returns the meta object for class '{@link familytree.Member <em>Member</em>}'.
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @return the meta object for class '<em>Member</em>'.
187 * @see familytree.Member
188 * @generated
189 */
190 EClass getMember();
191
192 /**
193 * Returns the meta object for the attribute '{@link familytree.Member#getName <em>Name</em>}'.
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @return the meta object for the attribute '<em>Name</em>'.
197 * @see familytree.Member#getName()
198 * @see #getMember()
199 * @generated
200 */
201 EAttribute getMember_Name();
202
203 /**
204 * Returns the meta object for the attribute '{@link familytree.Member#getAge <em>Age</em>}'.
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @return the meta object for the attribute '<em>Age</em>'.
208 * @see familytree.Member#getAge()
209 * @see #getMember()
210 * @generated
211 */
212 EAttribute getMember_Age();
213
214 /**
215 * Returns the meta object for the reference list '{@link familytree.Member#getChildren <em>Children</em>}'.
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @return the meta object for the reference list '<em>Children</em>'.
219 * @see familytree.Member#getChildren()
220 * @see #getMember()
221 * @generated
222 */
223 EReference getMember_Children();
224
225 /**
226 * Returns the meta object for the reference list '{@link familytree.Member#getParents <em>Parents</em>}'.
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @return the meta object for the reference list '<em>Parents</em>'.
230 * @see familytree.Member#getParents()
231 * @see #getMember()
232 * @generated
233 */
234 EReference getMember_Parents();
235
236 /**
237 * Returns the factory that creates the instances of the model.
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @return the factory that creates the instances of the model.
241 * @generated
242 */
243 FamilytreeFactory getFamilytreeFactory();
244
245 /**
246 * <!-- begin-user-doc -->
247 * Defines literals for the meta objects that represent
248 * <ul>
249 * <li>each class,</li>
250 * <li>each feature of each class,</li>
251 * <li>each operation of each class,</li>
252 * <li>each enum,</li>
253 * <li>and each data type</li>
254 * </ul>
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 interface Literals {
259 /**
260 * The meta object literal for the '{@link familytree.impl.FamilyTreeImpl <em>Family Tree</em>}' class.
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @see familytree.impl.FamilyTreeImpl
264 * @see familytree.impl.FamilytreePackageImpl#getFamilyTree()
265 * @generated
266 */
267 EClass FAMILY_TREE = eINSTANCE.getFamilyTree();
268
269 /**
270 * The meta object literal for the '<em><b>Members</b></em>' containment reference list feature.
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @generated
274 */
275 EReference FAMILY_TREE__MEMBERS = eINSTANCE.getFamilyTree_Members();
276
277 /**
278 * The meta object literal for the '{@link familytree.impl.MemberImpl <em>Member</em>}' class.
279 * <!-- begin-user-doc -->
280 * <!-- end-user-doc -->
281 * @see familytree.impl.MemberImpl
282 * @see familytree.impl.FamilytreePackageImpl#getMember()
283 * @generated
284 */
285 EClass MEMBER = eINSTANCE.getMember();
286
287 /**
288 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @generated
292 */
293 EAttribute MEMBER__NAME = eINSTANCE.getMember_Name();
294
295 /**
296 * The meta object literal for the '<em><b>Age</b></em>' attribute feature.
297 * <!-- begin-user-doc -->
298 * <!-- end-user-doc -->
299 * @generated
300 */
301 EAttribute MEMBER__AGE = eINSTANCE.getMember_Age();
302
303 /**
304 * The meta object literal for the '<em><b>Children</b></em>' reference list feature.
305 * <!-- begin-user-doc -->
306 * <!-- end-user-doc -->
307 * @generated
308 */
309 EReference MEMBER__CHILDREN = eINSTANCE.getMember_Children();
310
311 /**
312 * The meta object literal for the '<em><b>Parents</b></em>' reference list feature.
313 * <!-- begin-user-doc -->
314 * <!-- end-user-doc -->
315 * @generated
316 */
317 EReference MEMBER__PARENTS = eINSTANCE.getMember_Parents();
318
319 }
320
321} //FamilytreePackage
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/Member.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/Member.java
new file mode 100644
index 00000000..55a6bd1e
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/Member.java
@@ -0,0 +1,102 @@
1/**
2 */
3package familytree;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Member</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link familytree.Member#getName <em>Name</em>}</li>
19 * <li>{@link familytree.Member#getAge <em>Age</em>}</li>
20 * <li>{@link familytree.Member#getChildren <em>Children</em>}</li>
21 * <li>{@link familytree.Member#getParents <em>Parents</em>}</li>
22 * </ul>
23 *
24 * @see familytree.FamilytreePackage#getMember()
25 * @model
26 * @generated
27 */
28public interface Member extends EObject {
29 /**
30 * Returns the value of the '<em><b>Name</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Name</em>' attribute.
34 * @see #setName(String)
35 * @see familytree.FamilytreePackage#getMember_Name()
36 * @model
37 * @generated
38 */
39 String getName();
40
41 /**
42 * Sets the value of the '{@link familytree.Member#getName <em>Name</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Name</em>' attribute.
46 * @see #getName()
47 * @generated
48 */
49 void setName(String value);
50
51 /**
52 * Returns the value of the '<em><b>Age</b></em>' attribute.
53 * The default value is <code>"0"</code>.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @return the value of the '<em>Age</em>' attribute.
57 * @see #setAge(int)
58 * @see familytree.FamilytreePackage#getMember_Age()
59 * @model default="0"
60 * @generated
61 */
62 int getAge();
63
64 /**
65 * Sets the value of the '{@link familytree.Member#getAge <em>Age</em>}' attribute.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @param value the new value of the '<em>Age</em>' attribute.
69 * @see #getAge()
70 * @generated
71 */
72 void setAge(int value);
73
74 /**
75 * Returns the value of the '<em><b>Children</b></em>' reference list.
76 * The list contents are of type {@link familytree.Member}.
77 * It is bidirectional and its opposite is '{@link familytree.Member#getParents <em>Parents</em>}'.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @return the value of the '<em>Children</em>' reference list.
81 * @see familytree.FamilytreePackage#getMember_Children()
82 * @see familytree.Member#getParents
83 * @model opposite="parents"
84 * @generated
85 */
86 EList<Member> getChildren();
87
88 /**
89 * Returns the value of the '<em><b>Parents</b></em>' reference list.
90 * The list contents are of type {@link familytree.Member}.
91 * It is bidirectional and its opposite is '{@link familytree.Member#getChildren <em>Children</em>}'.
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @return the value of the '<em>Parents</em>' reference list.
95 * @see familytree.FamilytreePackage#getMember_Parents()
96 * @see familytree.Member#getChildren
97 * @model opposite="children" upper="2"
98 * @generated
99 */
100 EList<Member> getParents();
101
102} // Member
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilyTreeImpl.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilyTreeImpl.java
new file mode 100644
index 00000000..07b0a1dd
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilyTreeImpl.java
@@ -0,0 +1,153 @@
1/**
2 */
3package familytree.impl;
4
5import familytree.FamilyTree;
6import familytree.FamilytreePackage;
7import familytree.Member;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
19
20import org.eclipse.emf.ecore.util.EObjectContainmentEList;
21import org.eclipse.emf.ecore.util.InternalEList;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Family Tree</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link familytree.impl.FamilyTreeImpl#getMembers <em>Members</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class FamilyTreeImpl extends MinimalEObjectImpl.Container implements FamilyTree {
37 /**
38 * The cached value of the '{@link #getMembers() <em>Members</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getMembers()
42 * @generated
43 * @ordered
44 */
45 protected EList<Member> members;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected FamilyTreeImpl() {
53 super();
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 protected EClass eStaticClass() {
63 return FamilytreePackage.Literals.FAMILY_TREE;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 @Override
72 public EList<Member> getMembers() {
73 if (members == null) {
74 members = new EObjectContainmentEList<Member>(Member.class, this, FamilytreePackage.FAMILY_TREE__MEMBERS);
75 }
76 return members;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
86 switch (featureID) {
87 case FamilytreePackage.FAMILY_TREE__MEMBERS:
88 return ((InternalEList<?>)getMembers()).basicRemove(otherEnd, msgs);
89 }
90 return super.eInverseRemove(otherEnd, featureID, msgs);
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 @Override
99 public Object eGet(int featureID, boolean resolve, boolean coreType) {
100 switch (featureID) {
101 case FamilytreePackage.FAMILY_TREE__MEMBERS:
102 return getMembers();
103 }
104 return super.eGet(featureID, resolve, coreType);
105 }
106
107 /**
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 */
112 @SuppressWarnings("unchecked")
113 @Override
114 public void eSet(int featureID, Object newValue) {
115 switch (featureID) {
116 case FamilytreePackage.FAMILY_TREE__MEMBERS:
117 getMembers().clear();
118 getMembers().addAll((Collection<? extends Member>)newValue);
119 return;
120 }
121 super.eSet(featureID, newValue);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public void eUnset(int featureID) {
131 switch (featureID) {
132 case FamilytreePackage.FAMILY_TREE__MEMBERS:
133 getMembers().clear();
134 return;
135 }
136 super.eUnset(featureID);
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public boolean eIsSet(int featureID) {
146 switch (featureID) {
147 case FamilytreePackage.FAMILY_TREE__MEMBERS:
148 return members != null && !members.isEmpty();
149 }
150 return super.eIsSet(featureID);
151 }
152
153} //FamilyTreeImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreeFactoryImpl.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreeFactoryImpl.java
new file mode 100644
index 00000000..bc54d09c
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreeFactoryImpl.java
@@ -0,0 +1,109 @@
1/**
2 */
3package familytree.impl;
4
5import familytree.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class FamilytreeFactoryImpl extends EFactoryImpl implements FamilytreeFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static FamilytreeFactory init() {
29 try {
30 FamilytreeFactory theFamilytreeFactory = (FamilytreeFactory)EPackage.Registry.INSTANCE.getEFactory(FamilytreePackage.eNS_URI);
31 if (theFamilytreeFactory != null) {
32 return theFamilytreeFactory;
33 }
34 }
35 catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new FamilytreeFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public FamilytreeFactoryImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 public EObject create(EClass eClass) {
58 switch (eClass.getClassifierID()) {
59 case FamilytreePackage.FAMILY_TREE: return createFamilyTree();
60 case FamilytreePackage.MEMBER: return createMember();
61 default:
62 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
63 }
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 @Override
72 public FamilyTree createFamilyTree() {
73 FamilyTreeImpl familyTree = new FamilyTreeImpl();
74 return familyTree;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @Override
83 public Member createMember() {
84 MemberImpl member = new MemberImpl();
85 return member;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 @Override
94 public FamilytreePackage getFamilytreePackage() {
95 return (FamilytreePackage)getEPackage();
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @deprecated
102 * @generated
103 */
104 @Deprecated
105 public static FamilytreePackage getPackage() {
106 return FamilytreePackage.eINSTANCE;
107 }
108
109} //FamilytreeFactoryImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreePackageImpl.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreePackageImpl.java
new file mode 100644
index 00000000..0980260e
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreePackageImpl.java
@@ -0,0 +1,251 @@
1/**
2 */
3package familytree.impl;
4
5import familytree.FamilyTree;
6import familytree.FamilytreeFactory;
7import familytree.FamilytreePackage;
8import familytree.Member;
9
10import org.eclipse.emf.ecore.EAttribute;
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.EPackage;
13import org.eclipse.emf.ecore.EReference;
14
15import org.eclipse.emf.ecore.impl.EPackageImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model <b>Package</b>.
20 * <!-- end-user-doc -->
21 * @generated
22 */
23public class FamilytreePackageImpl extends EPackageImpl implements FamilytreePackage {
24 /**
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 private EClass familyTreeEClass = null;
30
31 /**
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @generated
35 */
36 private EClass memberEClass = null;
37
38 /**
39 * Creates an instance of the model <b>Package</b>, registered with
40 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
41 * package URI value.
42 * <p>Note: the correct way to create the package is via the static
43 * factory method {@link #init init()}, which also performs
44 * initialization of the package, or returns the registered package,
45 * if one already exists.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see org.eclipse.emf.ecore.EPackage.Registry
49 * @see familytree.FamilytreePackage#eNS_URI
50 * @see #init()
51 * @generated
52 */
53 private FamilytreePackageImpl() {
54 super(eNS_URI, FamilytreeFactory.eINSTANCE);
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 private static boolean isInited = false;
63
64 /**
65 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
66 *
67 * <p>This method is used to initialize {@link FamilytreePackage#eINSTANCE} when that field is accessed.
68 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @see #eNS_URI
72 * @see #createPackageContents()
73 * @see #initializePackageContents()
74 * @generated
75 */
76 public static FamilytreePackage init() {
77 if (isInited) return (FamilytreePackage)EPackage.Registry.INSTANCE.getEPackage(FamilytreePackage.eNS_URI);
78
79 // Obtain or create and register package
80 Object registeredFamilytreePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
81 FamilytreePackageImpl theFamilytreePackage = registeredFamilytreePackage instanceof FamilytreePackageImpl ? (FamilytreePackageImpl)registeredFamilytreePackage : new FamilytreePackageImpl();
82
83 isInited = true;
84
85 // Create package meta-data objects
86 theFamilytreePackage.createPackageContents();
87
88 // Initialize created meta-data
89 theFamilytreePackage.initializePackageContents();
90
91 // Mark meta-data to indicate it can't be changed
92 theFamilytreePackage.freeze();
93
94 // Update the registry and return the package
95 EPackage.Registry.INSTANCE.put(FamilytreePackage.eNS_URI, theFamilytreePackage);
96 return theFamilytreePackage;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public EClass getFamilyTree() {
106 return familyTreeEClass;
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 @Override
115 public EReference getFamilyTree_Members() {
116 return (EReference)familyTreeEClass.getEStructuralFeatures().get(0);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public EClass getMember() {
126 return memberEClass;
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public EAttribute getMember_Name() {
136 return (EAttribute)memberEClass.getEStructuralFeatures().get(0);
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public EAttribute getMember_Age() {
146 return (EAttribute)memberEClass.getEStructuralFeatures().get(1);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public EReference getMember_Children() {
156 return (EReference)memberEClass.getEStructuralFeatures().get(2);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public EReference getMember_Parents() {
166 return (EReference)memberEClass.getEStructuralFeatures().get(3);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public FamilytreeFactory getFamilytreeFactory() {
176 return (FamilytreeFactory)getEFactoryInstance();
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 private boolean isCreated = false;
185
186 /**
187 * Creates the meta-model objects for the package. This method is
188 * guarded to have no affect on any invocation but its first.
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 public void createPackageContents() {
194 if (isCreated) return;
195 isCreated = true;
196
197 // Create classes and their features
198 familyTreeEClass = createEClass(FAMILY_TREE);
199 createEReference(familyTreeEClass, FAMILY_TREE__MEMBERS);
200
201 memberEClass = createEClass(MEMBER);
202 createEAttribute(memberEClass, MEMBER__NAME);
203 createEAttribute(memberEClass, MEMBER__AGE);
204 createEReference(memberEClass, MEMBER__CHILDREN);
205 createEReference(memberEClass, MEMBER__PARENTS);
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 */
213 private boolean isInitialized = false;
214
215 /**
216 * Complete the initialization of the package and its meta-model. This
217 * method is guarded to have no affect on any invocation but its first.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 public void initializePackageContents() {
223 if (isInitialized) return;
224 isInitialized = true;
225
226 // Initialize package
227 setName(eNAME);
228 setNsPrefix(eNS_PREFIX);
229 setNsURI(eNS_URI);
230
231 // Create type parameters
232
233 // Set bounds for type parameters
234
235 // Add supertypes to classes
236
237 // Initialize classes, features, and operations; add parameters
238 initEClass(familyTreeEClass, FamilyTree.class, "FamilyTree", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
239 initEReference(getFamilyTree_Members(), this.getMember(), null, "members", null, 0, -1, FamilyTree.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
240
241 initEClass(memberEClass, Member.class, "Member", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
242 initEAttribute(getMember_Name(), ecorePackage.getEString(), "name", null, 0, 1, Member.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
243 initEAttribute(getMember_Age(), ecorePackage.getEInt(), "age", "0", 0, 1, Member.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
244 initEReference(getMember_Children(), this.getMember(), this.getMember_Parents(), "children", null, 0, -1, Member.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
245 initEReference(getMember_Parents(), this.getMember(), this.getMember_Children(), "parents", null, 0, 2, Member.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
246
247 // Create resource
248 createResource(eNS_URI);
249 }
250
251} //FamilytreePackageImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/MemberImpl.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/MemberImpl.java
new file mode 100644
index 00000000..77e423bd
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/MemberImpl.java
@@ -0,0 +1,334 @@
1/**
2 */
3package familytree.impl;
4
5import familytree.FamilytreePackage;
6import familytree.Member;
7
8import java.util.Collection;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.impl.ENotificationImpl;
19import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
20
21import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
22import org.eclipse.emf.ecore.util.InternalEList;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Member</b></em>'.
27 * <!-- end-user-doc -->
28 * <p>
29 * The following features are implemented:
30 * </p>
31 * <ul>
32 * <li>{@link familytree.impl.MemberImpl#getName <em>Name</em>}</li>
33 * <li>{@link familytree.impl.MemberImpl#getAge <em>Age</em>}</li>
34 * <li>{@link familytree.impl.MemberImpl#getChildren <em>Children</em>}</li>
35 * <li>{@link familytree.impl.MemberImpl#getParents <em>Parents</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class MemberImpl extends MinimalEObjectImpl.Container implements Member {
41 /**
42 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getName()
46 * @generated
47 * @ordered
48 */
49 protected static final String NAME_EDEFAULT = null;
50
51 /**
52 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getName()
56 * @generated
57 * @ordered
58 */
59 protected String name = NAME_EDEFAULT;
60
61 /**
62 * The default value of the '{@link #getAge() <em>Age</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getAge()
66 * @generated
67 * @ordered
68 */
69 protected static final int AGE_EDEFAULT = 0;
70
71 /**
72 * The cached value of the '{@link #getAge() <em>Age</em>}' attribute.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @see #getAge()
76 * @generated
77 * @ordered
78 */
79 protected int age = AGE_EDEFAULT;
80
81 /**
82 * The cached value of the '{@link #getChildren() <em>Children</em>}' reference list.
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @see #getChildren()
86 * @generated
87 * @ordered
88 */
89 protected EList<Member> children;
90
91 /**
92 * The cached value of the '{@link #getParents() <em>Parents</em>}' reference list.
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @see #getParents()
96 * @generated
97 * @ordered
98 */
99 protected EList<Member> parents;
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 protected MemberImpl() {
107 super();
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 protected EClass eStaticClass() {
117 return FamilytreePackage.Literals.MEMBER;
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public String getName() {
127 return name;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public void setName(String newName) {
137 String oldName = name;
138 name = newName;
139 if (eNotificationRequired())
140 eNotify(new ENotificationImpl(this, Notification.SET, FamilytreePackage.MEMBER__NAME, oldName, name));
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @Override
149 public int getAge() {
150 return age;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void setAge(int newAge) {
160 int oldAge = age;
161 age = newAge;
162 if (eNotificationRequired())
163 eNotify(new ENotificationImpl(this, Notification.SET, FamilytreePackage.MEMBER__AGE, oldAge, age));
164 }
165
166 /**
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @generated
170 */
171 @Override
172 public EList<Member> getChildren() {
173 if (children == null) {
174 children = new EObjectWithInverseResolvingEList.ManyInverse<Member>(Member.class, this, FamilytreePackage.MEMBER__CHILDREN, FamilytreePackage.MEMBER__PARENTS);
175 }
176 return children;
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 @Override
185 public EList<Member> getParents() {
186 if (parents == null) {
187 parents = new EObjectWithInverseResolvingEList.ManyInverse<Member>(Member.class, this, FamilytreePackage.MEMBER__PARENTS, FamilytreePackage.MEMBER__CHILDREN);
188 }
189 return parents;
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 @SuppressWarnings("unchecked")
198 @Override
199 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
200 switch (featureID) {
201 case FamilytreePackage.MEMBER__CHILDREN:
202 return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
203 case FamilytreePackage.MEMBER__PARENTS:
204 return ((InternalEList<InternalEObject>)(InternalEList<?>)getParents()).basicAdd(otherEnd, msgs);
205 }
206 return super.eInverseAdd(otherEnd, featureID, msgs);
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
216 switch (featureID) {
217 case FamilytreePackage.MEMBER__CHILDREN:
218 return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
219 case FamilytreePackage.MEMBER__PARENTS:
220 return ((InternalEList<?>)getParents()).basicRemove(otherEnd, msgs);
221 }
222 return super.eInverseRemove(otherEnd, featureID, msgs);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public Object eGet(int featureID, boolean resolve, boolean coreType) {
232 switch (featureID) {
233 case FamilytreePackage.MEMBER__NAME:
234 return getName();
235 case FamilytreePackage.MEMBER__AGE:
236 return getAge();
237 case FamilytreePackage.MEMBER__CHILDREN:
238 return getChildren();
239 case FamilytreePackage.MEMBER__PARENTS:
240 return getParents();
241 }
242 return super.eGet(featureID, resolve, coreType);
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 @SuppressWarnings("unchecked")
251 @Override
252 public void eSet(int featureID, Object newValue) {
253 switch (featureID) {
254 case FamilytreePackage.MEMBER__NAME:
255 setName((String)newValue);
256 return;
257 case FamilytreePackage.MEMBER__AGE:
258 setAge((Integer)newValue);
259 return;
260 case FamilytreePackage.MEMBER__CHILDREN:
261 getChildren().clear();
262 getChildren().addAll((Collection<? extends Member>)newValue);
263 return;
264 case FamilytreePackage.MEMBER__PARENTS:
265 getParents().clear();
266 getParents().addAll((Collection<? extends Member>)newValue);
267 return;
268 }
269 super.eSet(featureID, newValue);
270 }
271
272 /**
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 */
277 @Override
278 public void eUnset(int featureID) {
279 switch (featureID) {
280 case FamilytreePackage.MEMBER__NAME:
281 setName(NAME_EDEFAULT);
282 return;
283 case FamilytreePackage.MEMBER__AGE:
284 setAge(AGE_EDEFAULT);
285 return;
286 case FamilytreePackage.MEMBER__CHILDREN:
287 getChildren().clear();
288 return;
289 case FamilytreePackage.MEMBER__PARENTS:
290 getParents().clear();
291 return;
292 }
293 super.eUnset(featureID);
294 }
295
296 /**
297 * <!-- begin-user-doc -->
298 * <!-- end-user-doc -->
299 * @generated
300 */
301 @Override
302 public boolean eIsSet(int featureID) {
303 switch (featureID) {
304 case FamilytreePackage.MEMBER__NAME:
305 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
306 case FamilytreePackage.MEMBER__AGE:
307 return age != AGE_EDEFAULT;
308 case FamilytreePackage.MEMBER__CHILDREN:
309 return children != null && !children.isEmpty();
310 case FamilytreePackage.MEMBER__PARENTS:
311 return parents != null && !parents.isEmpty();
312 }
313 return super.eIsSet(featureID);
314 }
315
316 /**
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @generated
320 */
321 @Override
322 public String toString() {
323 if (eIsProxy()) return super.toString();
324
325 StringBuilder result = new StringBuilder(super.toString());
326 result.append(" (name: ");
327 result.append(name);
328 result.append(", age: ");
329 result.append(age);
330 result.append(')');
331 return result.toString();
332 }
333
334} //MemberImpl
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeAdapterFactory.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeAdapterFactory.java
new file mode 100644
index 00000000..6412c40f
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeAdapterFactory.java
@@ -0,0 +1,138 @@
1/**
2 */
3package familytree.util;
4
5import familytree.*;
6
7import org.eclipse.emf.common.notify.Adapter;
8import org.eclipse.emf.common.notify.Notifier;
9
10import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
11
12import org.eclipse.emf.ecore.EObject;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see familytree.FamilytreePackage
20 * @generated
21 */
22public class FamilytreeAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static FamilytreePackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public FamilytreeAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = FamilytreePackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject)object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected FamilytreeSwitch<Adapter> modelSwitch =
69 new FamilytreeSwitch<Adapter>() {
70 @Override
71 public Adapter caseFamilyTree(FamilyTree object) {
72 return createFamilyTreeAdapter();
73 }
74 @Override
75 public Adapter caseMember(Member object) {
76 return createMemberAdapter();
77 }
78 @Override
79 public Adapter defaultCase(EObject object) {
80 return createEObjectAdapter();
81 }
82 };
83
84 /**
85 * Creates an adapter for the <code>target</code>.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param target the object to adapt.
89 * @return the adapter for the <code>target</code>.
90 * @generated
91 */
92 @Override
93 public Adapter createAdapter(Notifier target) {
94 return modelSwitch.doSwitch((EObject)target);
95 }
96
97
98 /**
99 * Creates a new adapter for an object of class '{@link familytree.FamilyTree <em>Family Tree</em>}'.
100 * <!-- begin-user-doc -->
101 * This default implementation returns null so that we can easily ignore cases;
102 * it's useful to ignore a case when inheritance will catch all the cases anyway.
103 * <!-- end-user-doc -->
104 * @return the new adapter.
105 * @see familytree.FamilyTree
106 * @generated
107 */
108 public Adapter createFamilyTreeAdapter() {
109 return null;
110 }
111
112 /**
113 * Creates a new adapter for an object of class '{@link familytree.Member <em>Member</em>}'.
114 * <!-- begin-user-doc -->
115 * This default implementation returns null so that we can easily ignore cases;
116 * it's useful to ignore a case when inheritance will catch all the cases anyway.
117 * <!-- end-user-doc -->
118 * @return the new adapter.
119 * @see familytree.Member
120 * @generated
121 */
122 public Adapter createMemberAdapter() {
123 return null;
124 }
125
126 /**
127 * Creates a new adapter for the default case.
128 * <!-- begin-user-doc -->
129 * This default implementation returns null.
130 * <!-- end-user-doc -->
131 * @return the new adapter.
132 * @generated
133 */
134 public Adapter createEObjectAdapter() {
135 return null;
136 }
137
138} //FamilytreeAdapterFactory
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeSwitch.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeSwitch.java
new file mode 100644
index 00000000..75bbce3d
--- /dev/null
+++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeSwitch.java
@@ -0,0 +1,131 @@
1/**
2 */
3package familytree.util;
4
5import familytree.*;
6
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage;
9
10import org.eclipse.emf.ecore.util.Switch;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see familytree.FamilytreePackage
23 * @generated
24 */
25public class FamilytreeSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static FamilytreePackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public FamilytreeSwitch() {
41 if (modelPackage == null) {
42 modelPackage = FamilytreePackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case FamilytreePackage.FAMILY_TREE: {
70 FamilyTree familyTree = (FamilyTree)theEObject;
71 T result = caseFamilyTree(familyTree);
72 if (result == null) result = defaultCase(theEObject);
73 return result;
74 }
75 case FamilytreePackage.MEMBER: {
76 Member member = (Member)theEObject;
77 T result = caseMember(member);
78 if (result == null) result = defaultCase(theEObject);
79 return result;
80 }
81 default: return defaultCase(theEObject);
82 }
83 }
84
85 /**
86 * Returns the result of interpreting the object as an instance of '<em>Family Tree</em>'.
87 * <!-- begin-user-doc -->
88 * This implementation returns null;
89 * returning a non-null result will terminate the switch.
90 * <!-- end-user-doc -->
91 * @param object the target of the switch.
92 * @return the result of interpreting the object as an instance of '<em>Family Tree</em>'.
93 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
94 * @generated
95 */
96 public T caseFamilyTree(FamilyTree object) {
97 return null;
98 }
99
100 /**
101 * Returns the result of interpreting the object as an instance of '<em>Member</em>'.
102 * <!-- begin-user-doc -->
103 * This implementation returns null;
104 * returning a non-null result will terminate the switch.
105 * <!-- end-user-doc -->
106 * @param object the target of the switch.
107 * @return the result of interpreting the object as an instance of '<em>Member</em>'.
108 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
109 * @generated
110 */
111 public T caseMember(Member object) {
112 return null;
113 }
114
115 /**
116 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
117 * <!-- begin-user-doc -->
118 * This implementation returns null;
119 * returning a non-null result will terminate the switch, but this is the last case anyway.
120 * <!-- end-user-doc -->
121 * @param object the target of the switch.
122 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
123 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
124 * @generated
125 */
126 @Override
127 public T defaultCase(EObject object) {
128 return null;
129 }
130
131} //FamilytreeSwitch