1 | /** |
2 | * <copyright> |
3 | * </copyright> |
4 | * |
5 | * $Id$ |
6 | */ |
7 | package de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.impl; |
8 | |
9 | import de.uka.ipd.sdq.dsexplore.qml.contract.QMLContract.QMLContractPackage; |
10 | |
11 | import de.uka.ipd.sdq.dsexplore.qml.contract.QMLContract.impl.QMLContractPackageImpl; |
12 | |
13 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.Dimension; |
14 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.DimensionType; |
15 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.DimensionTypeEnum; |
16 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.DimensionTypeNumeric; |
17 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.DimensionTypeRepository; |
18 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.DimensionTypeSet; |
19 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.Element; |
20 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.EnumNumericDomain; |
21 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.EnumRelationSemantics; |
22 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.NumericRange; |
23 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.Order; |
24 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.QMLContractType; |
25 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.QMLContractTypeFactory; |
26 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.QMLContractTypePackage; |
27 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.RelationSemantics; |
28 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.Unit; |
29 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.UnitRepository; |
30 | |
31 | import de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.util.QMLContractTypeValidator; |
32 | |
33 | import de.uka.ipd.sdq.dsexplore.qml.declarations.QMLDeclarations.QMLDeclarationsPackage; |
34 | |
35 | import de.uka.ipd.sdq.dsexplore.qml.declarations.QMLDeclarations.impl.QMLDeclarationsPackageImpl; |
36 | |
37 | import de.uka.ipd.sdq.dsexplore.qml.profile.QMLProfile.QMLProfilePackage; |
38 | |
39 | import de.uka.ipd.sdq.dsexplore.qml.profile.QMLProfile.impl.QMLProfilePackageImpl; |
40 | |
41 | import de.uka.ipd.sdq.identifier.IdentifierPackage; |
42 | |
43 | import de.uka.ipd.sdq.pcm.allocation.AllocationPackage; |
44 | |
45 | import de.uka.ipd.sdq.pcm.core.CorePackage; |
46 | |
47 | import de.uka.ipd.sdq.pcm.core.entity.EntityPackage; |
48 | |
49 | import de.uka.ipd.sdq.pcm.parameter.ParameterPackage; |
50 | |
51 | import de.uka.ipd.sdq.pcm.protocol.ProtocolPackage; |
52 | |
53 | import de.uka.ipd.sdq.pcm.qosannotations.QosannotationsPackage; |
54 | |
55 | import de.uka.ipd.sdq.pcm.repository.RepositoryPackage; |
56 | |
57 | import de.uka.ipd.sdq.pcm.resourceenvironment.ResourceenvironmentPackage; |
58 | |
59 | import de.uka.ipd.sdq.pcm.resourcetype.ResourcetypePackage; |
60 | |
61 | import de.uka.ipd.sdq.pcm.seff.SeffPackage; |
62 | |
63 | import de.uka.ipd.sdq.pcm.subsystem.SubsystemPackage; |
64 | |
65 | import de.uka.ipd.sdq.pcm.system.SystemPackage; |
66 | |
67 | import de.uka.ipd.sdq.pcm.usagemodel.UsagemodelPackage; |
68 | |
69 | import org.eclipse.emf.ecore.EAttribute; |
70 | import org.eclipse.emf.ecore.EClass; |
71 | import org.eclipse.emf.ecore.EEnum; |
72 | import org.eclipse.emf.ecore.EGenericType; |
73 | import org.eclipse.emf.ecore.EOperation; |
74 | import org.eclipse.emf.ecore.EPackage; |
75 | import org.eclipse.emf.ecore.EReference; |
76 | import org.eclipse.emf.ecore.EValidator; |
77 | |
78 | import org.eclipse.emf.ecore.impl.EPackageImpl; |
79 | |
80 | /** |
81 | * <!-- begin-user-doc --> |
82 | * An implementation of the model <b>Package</b>. |
83 | * <!-- end-user-doc --> |
84 | * @generated |
85 | */ |
86 | public class QMLContractTypePackageImpl extends EPackageImpl implements QMLContractTypePackage { |
87 | /** |
88 | * <!-- begin-user-doc --> |
89 | * <!-- end-user-doc --> |
90 | * @generated |
91 | */ |
92 | private EClass dimensionTypeSetEClass = null; |
93 | |
94 | /** |
95 | * <!-- begin-user-doc --> |
96 | * <!-- end-user-doc --> |
97 | * @generated |
98 | */ |
99 | private EClass dimensionTypeEClass = null; |
100 | |
101 | /** |
102 | * <!-- begin-user-doc --> |
103 | * <!-- end-user-doc --> |
104 | * @generated |
105 | */ |
106 | private EClass relationSemanticsEClass = null; |
107 | |
108 | /** |
109 | * <!-- begin-user-doc --> |
110 | * <!-- end-user-doc --> |
111 | * @generated |
112 | */ |
113 | private EClass elementEClass = null; |
114 | |
115 | /** |
116 | * <!-- begin-user-doc --> |
117 | * <!-- end-user-doc --> |
118 | * @generated |
119 | */ |
120 | private EClass orderEClass = null; |
121 | |
122 | /** |
123 | * <!-- begin-user-doc --> |
124 | * <!-- end-user-doc --> |
125 | * @generated |
126 | */ |
127 | private EClass dimensionTypeEnumEClass = null; |
128 | |
129 | /** |
130 | * <!-- begin-user-doc --> |
131 | * <!-- end-user-doc --> |
132 | * @generated |
133 | */ |
134 | private EClass unitEClass = null; |
135 | |
136 | /** |
137 | * <!-- begin-user-doc --> |
138 | * <!-- end-user-doc --> |
139 | * @generated |
140 | */ |
141 | private EClass dimensionTypeNumericEClass = null; |
142 | |
143 | /** |
144 | * <!-- begin-user-doc --> |
145 | * <!-- end-user-doc --> |
146 | * @generated |
147 | */ |
148 | private EClass numericRangeEClass = null; |
149 | |
150 | /** |
151 | * <!-- begin-user-doc --> |
152 | * <!-- end-user-doc --> |
153 | * @generated |
154 | */ |
155 | private EClass qmlContractTypeEClass = null; |
156 | |
157 | /** |
158 | * <!-- begin-user-doc --> |
159 | * <!-- end-user-doc --> |
160 | * @generated |
161 | */ |
162 | private EClass unitRepositoryEClass = null; |
163 | |
164 | /** |
165 | * <!-- begin-user-doc --> |
166 | * <!-- end-user-doc --> |
167 | * @generated |
168 | */ |
169 | private EClass dimensionTypeRepositoryEClass = null; |
170 | |
171 | /** |
172 | * <!-- begin-user-doc --> |
173 | * <!-- end-user-doc --> |
174 | * @generated |
175 | */ |
176 | private EClass dimensionEClass = null; |
177 | |
178 | /** |
179 | * <!-- begin-user-doc --> |
180 | * <!-- end-user-doc --> |
181 | * @generated |
182 | */ |
183 | private EEnum enumRelationSemanticsEEnum = null; |
184 | |
185 | /** |
186 | * <!-- begin-user-doc --> |
187 | * <!-- end-user-doc --> |
188 | * @generated |
189 | */ |
190 | private EEnum enumNumericDomainEEnum = null; |
191 | |
192 | /** |
193 | * Creates an instance of the model <b>Package</b>, registered with |
194 | * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package |
195 | * package URI value. |
196 | * <p>Note: the correct way to create the package is via the static |
197 | * factory method {@link #init init()}, which also performs |
198 | * initialization of the package, or returns the registered package, |
199 | * if one already exists. |
200 | * <!-- begin-user-doc --> |
201 | * <!-- end-user-doc --> |
202 | * @see org.eclipse.emf.ecore.EPackage.Registry |
203 | * @see de.uka.ipd.sdq.dsexplore.qml.contracttype.QMLContractType.QMLContractTypePackage#eNS_URI |
204 | * @see #init() |
205 | * @generated |
206 | */ |
207 | private QMLContractTypePackageImpl() { |
208 | super(eNS_URI, QMLContractTypeFactory.eINSTANCE); |
209 | } |
210 | |
211 | /** |
212 | * <!-- begin-user-doc --> |
213 | * <!-- end-user-doc --> |
214 | * @generated |
215 | */ |
216 | private static boolean isInited = false; |
217 | |
218 | /** |
219 | * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. |
220 | * |
221 | * <p>This method is used to initialize {@link QMLContractTypePackage#eINSTANCE} when that field is accessed. |
222 | * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. |
223 | * <!-- begin-user-doc --> |
224 | * <!-- end-user-doc --> |
225 | * @see #eNS_URI |
226 | * @see #createPackageContents() |
227 | * @see #initializePackageContents() |
228 | * @generated |
229 | */ |
230 | public static QMLContractTypePackage init() { |
231 | if (isInited) return (QMLContractTypePackage)EPackage.Registry.INSTANCE.getEPackage(QMLContractTypePackage.eNS_URI); |
232 | |
233 | // Obtain or create and register package |
234 | QMLContractTypePackageImpl theQMLContractTypePackage = (QMLContractTypePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof QMLContractTypePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new QMLContractTypePackageImpl()); |
235 | |
236 | isInited = true; |
237 | |
238 | // Initialize simple dependencies |
239 | CorePackage.eINSTANCE.eClass(); |
240 | UsagemodelPackage.eINSTANCE.eClass(); |
241 | RepositoryPackage.eINSTANCE.eClass(); |
242 | ProtocolPackage.eINSTANCE.eClass(); |
243 | ParameterPackage.eINSTANCE.eClass(); |
244 | SeffPackage.eINSTANCE.eClass(); |
245 | ResourcetypePackage.eINSTANCE.eClass(); |
246 | QosannotationsPackage.eINSTANCE.eClass(); |
247 | SystemPackage.eINSTANCE.eClass(); |
248 | ResourceenvironmentPackage.eINSTANCE.eClass(); |
249 | AllocationPackage.eINSTANCE.eClass(); |
250 | SubsystemPackage.eINSTANCE.eClass(); |
251 | |
252 | // Obtain or create and register interdependencies |
253 | QMLProfilePackageImpl theQMLProfilePackage = (QMLProfilePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(QMLProfilePackage.eNS_URI) instanceof QMLProfilePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(QMLProfilePackage.eNS_URI) : QMLProfilePackage.eINSTANCE); |
254 | QMLDeclarationsPackageImpl theQMLDeclarationsPackage = (QMLDeclarationsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(QMLDeclarationsPackage.eNS_URI) instanceof QMLDeclarationsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(QMLDeclarationsPackage.eNS_URI) : QMLDeclarationsPackage.eINSTANCE); |
255 | QMLContractPackageImpl theQMLContractPackage = (QMLContractPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(QMLContractPackage.eNS_URI) instanceof QMLContractPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(QMLContractPackage.eNS_URI) : QMLContractPackage.eINSTANCE); |
256 | |
257 | // Create package meta-data objects |
258 | theQMLContractTypePackage.createPackageContents(); |
259 | theQMLProfilePackage.createPackageContents(); |
260 | theQMLDeclarationsPackage.createPackageContents(); |
261 | theQMLContractPackage.createPackageContents(); |
262 | |
263 | // Initialize created meta-data |
264 | theQMLContractTypePackage.initializePackageContents(); |
265 | theQMLProfilePackage.initializePackageContents(); |
266 | theQMLDeclarationsPackage.initializePackageContents(); |
267 | theQMLContractPackage.initializePackageContents(); |
268 | |
269 | // Register package validator |
270 | EValidator.Registry.INSTANCE.put |
271 | (theQMLContractTypePackage, |
272 | new EValidator.Descriptor() { |
273 | public EValidator getEValidator() { |
274 | return QMLContractTypeValidator.INSTANCE; |
275 | } |
276 | }); |
277 | |
278 | // Mark meta-data to indicate it can't be changed |
279 | theQMLContractTypePackage.freeze(); |
280 | |
281 | |
282 | // Update the registry and return the package |
283 | EPackage.Registry.INSTANCE.put(QMLContractTypePackage.eNS_URI, theQMLContractTypePackage); |
284 | return theQMLContractTypePackage; |
285 | } |
286 | |
287 | /** |
288 | * <!-- begin-user-doc --> |
289 | * <!-- end-user-doc --> |
290 | * @generated |
291 | */ |
292 | public EClass getDimensionTypeSet() { |
293 | return dimensionTypeSetEClass; |
294 | } |
295 | |
296 | /** |
297 | * <!-- begin-user-doc --> |
298 | * <!-- end-user-doc --> |
299 | * @generated |
300 | */ |
301 | public EReference getDimensionTypeSet_Elements() { |
302 | return (EReference)dimensionTypeSetEClass.getEStructuralFeatures().get(0); |
303 | } |
304 | |
305 | /** |
306 | * <!-- begin-user-doc --> |
307 | * <!-- end-user-doc --> |
308 | * @generated |
309 | */ |
310 | public EReference getDimensionTypeSet_Order() { |
311 | return (EReference)dimensionTypeSetEClass.getEStructuralFeatures().get(1); |
312 | } |
313 | |
314 | /** |
315 | * <!-- begin-user-doc --> |
316 | * <!-- end-user-doc --> |
317 | * @generated |
318 | */ |
319 | public EClass getDimensionType() { |
320 | return dimensionTypeEClass; |
321 | } |
322 | |
323 | /** |
324 | * <!-- begin-user-doc --> |
325 | * <!-- end-user-doc --> |
326 | * @generated |
327 | */ |
328 | public EReference getDimensionType_RelationSemantics() { |
329 | return (EReference)dimensionTypeEClass.getEStructuralFeatures().get(0); |
330 | } |
331 | |
332 | /** |
333 | * <!-- begin-user-doc --> |
334 | * <!-- end-user-doc --> |
335 | * @generated |
336 | */ |
337 | public EClass getRelationSemantics() { |
338 | return relationSemanticsEClass; |
339 | } |
340 | |
341 | /** |
342 | * <!-- begin-user-doc --> |
343 | * <!-- end-user-doc --> |
344 | * @generated |
345 | */ |
346 | public EAttribute getRelationSemantics_RelSem() { |
347 | return (EAttribute)relationSemanticsEClass.getEStructuralFeatures().get(0); |
348 | } |
349 | |
350 | /** |
351 | * <!-- begin-user-doc --> |
352 | * <!-- end-user-doc --> |
353 | * @generated |
354 | */ |
355 | public EClass getElement() { |
356 | return elementEClass; |
357 | } |
358 | |
359 | /** |
360 | * <!-- begin-user-doc --> |
361 | * <!-- end-user-doc --> |
362 | * @generated |
363 | */ |
364 | public EClass getOrder() { |
365 | return orderEClass; |
366 | } |
367 | |
368 | /** |
369 | * <!-- begin-user-doc --> |
370 | * <!-- end-user-doc --> |
371 | * @generated |
372 | */ |
373 | public EReference getOrder_BiggerElement() { |
374 | return (EReference)orderEClass.getEStructuralFeatures().get(0); |
375 | } |
376 | |
377 | /** |
378 | * <!-- begin-user-doc --> |
379 | * <!-- end-user-doc --> |
380 | * @generated |
381 | */ |
382 | public EReference getOrder_SmallerElement() { |
383 | return (EReference)orderEClass.getEStructuralFeatures().get(1); |
384 | } |
385 | |
386 | /** |
387 | * <!-- begin-user-doc --> |
388 | * <!-- end-user-doc --> |
389 | * @generated |
390 | */ |
391 | public EClass getDimensionTypeEnum() { |
392 | return dimensionTypeEnumEClass; |
393 | } |
394 | |
395 | /** |
396 | * <!-- begin-user-doc --> |
397 | * <!-- end-user-doc --> |
398 | * @generated |
399 | */ |
400 | public EReference getDimensionTypeEnum_Elements() { |
401 | return (EReference)dimensionTypeEnumEClass.getEStructuralFeatures().get(0); |
402 | } |
403 | |
404 | /** |
405 | * <!-- begin-user-doc --> |
406 | * <!-- end-user-doc --> |
407 | * @generated |
408 | */ |
409 | public EReference getDimensionTypeEnum_Order() { |
410 | return (EReference)dimensionTypeEnumEClass.getEStructuralFeatures().get(1); |
411 | } |
412 | |
413 | /** |
414 | * <!-- begin-user-doc --> |
415 | * <!-- end-user-doc --> |
416 | * @generated |
417 | */ |
418 | public EClass getUnit() { |
419 | return unitEClass; |
420 | } |
421 | |
422 | /** |
423 | * <!-- begin-user-doc --> |
424 | * <!-- end-user-doc --> |
425 | * @generated |
426 | */ |
427 | public EClass getDimensionTypeNumeric() { |
428 | return dimensionTypeNumericEClass; |
429 | } |
430 | |
431 | /** |
432 | * <!-- begin-user-doc --> |
433 | * <!-- end-user-doc --> |
434 | * @generated |
435 | */ |
436 | public EReference getDimensionTypeNumeric_Range() { |
437 | return (EReference)dimensionTypeNumericEClass.getEStructuralFeatures().get(0); |
438 | } |
439 | |
440 | /** |
441 | * <!-- begin-user-doc --> |
442 | * <!-- end-user-doc --> |
443 | * @generated |
444 | */ |
445 | public EAttribute getDimensionTypeNumeric_Domain() { |
446 | return (EAttribute)dimensionTypeNumericEClass.getEStructuralFeatures().get(1); |
447 | } |
448 | |
449 | /** |
450 | * <!-- begin-user-doc --> |
451 | * <!-- end-user-doc --> |
452 | * @generated |
453 | */ |
454 | public EClass getNumericRange() { |
455 | return numericRangeEClass; |
456 | } |
457 | |
458 | /** |
459 | * <!-- begin-user-doc --> |
460 | * <!-- end-user-doc --> |
461 | * @generated |
462 | */ |
463 | public EAttribute getNumericRange_LowerLimit() { |
464 | return (EAttribute)numericRangeEClass.getEStructuralFeatures().get(0); |
465 | } |
466 | |
467 | /** |
468 | * <!-- begin-user-doc --> |
469 | * <!-- end-user-doc --> |
470 | * @generated |
471 | */ |
472 | public EAttribute getNumericRange_UpperLimit() { |
473 | return (EAttribute)numericRangeEClass.getEStructuralFeatures().get(1); |
474 | } |
475 | |
476 | /** |
477 | * <!-- begin-user-doc --> |
478 | * <!-- end-user-doc --> |
479 | * @generated |
480 | */ |
481 | public EClass getQMLContractType() { |
482 | return qmlContractTypeEClass; |
483 | } |
484 | |
485 | /** |
486 | * <!-- begin-user-doc --> |
487 | * <!-- end-user-doc --> |
488 | * @generated |
489 | */ |
490 | public EReference getQMLContractType_Dimensions() { |
491 | return (EReference)qmlContractTypeEClass.getEStructuralFeatures().get(0); |
492 | } |
493 | |
494 | /** |
495 | * <!-- begin-user-doc --> |
496 | * <!-- end-user-doc --> |
497 | * @generated |
498 | */ |
499 | public EClass getUnitRepository() { |
500 | return unitRepositoryEClass; |
501 | } |
502 | |
503 | /** |
504 | * <!-- begin-user-doc --> |
505 | * <!-- end-user-doc --> |
506 | * @generated |
507 | */ |
508 | public EReference getUnitRepository_Units() { |
509 | return (EReference)unitRepositoryEClass.getEStructuralFeatures().get(0); |
510 | } |
511 | |
512 | /** |
513 | * <!-- begin-user-doc --> |
514 | * <!-- end-user-doc --> |
515 | * @generated |
516 | */ |
517 | public EClass getDimensionTypeRepository() { |
518 | return dimensionTypeRepositoryEClass; |
519 | } |
520 | |
521 | /** |
522 | * <!-- begin-user-doc --> |
523 | * <!-- end-user-doc --> |
524 | * @generated |
525 | */ |
526 | public EReference getDimensionTypeRepository_DimensionTypes() { |
527 | return (EReference)dimensionTypeRepositoryEClass.getEStructuralFeatures().get(0); |
528 | } |
529 | |
530 | /** |
531 | * <!-- begin-user-doc --> |
532 | * <!-- end-user-doc --> |
533 | * @generated |
534 | */ |
535 | public EClass getDimension() { |
536 | return dimensionEClass; |
537 | } |
538 | |
539 | /** |
540 | * <!-- begin-user-doc --> |
541 | * <!-- end-user-doc --> |
542 | * @generated |
543 | */ |
544 | public EReference getDimension_Type() { |
545 | return (EReference)dimensionEClass.getEStructuralFeatures().get(0); |
546 | } |
547 | |
548 | /** |
549 | * <!-- begin-user-doc --> |
550 | * <!-- end-user-doc --> |
551 | * @generated |
552 | */ |
553 | public EReference getDimension_Unit() { |
554 | return (EReference)dimensionEClass.getEStructuralFeatures().get(1); |
555 | } |
556 | |
557 | /** |
558 | * <!-- begin-user-doc --> |
559 | * <!-- end-user-doc --> |
560 | * @generated |
561 | */ |
562 | public EEnum getEnumRelationSemantics() { |
563 | return enumRelationSemanticsEEnum; |
564 | } |
565 | |
566 | /** |
567 | * <!-- begin-user-doc --> |
568 | * <!-- end-user-doc --> |
569 | * @generated |
570 | */ |
571 | public EEnum getEnumNumericDomain() { |
572 | return enumNumericDomainEEnum; |
573 | } |
574 | |
575 | /** |
576 | * <!-- begin-user-doc --> |
577 | * <!-- end-user-doc --> |
578 | * @generated |
579 | */ |
580 | public QMLContractTypeFactory getQMLContractTypeFactory() { |
581 | return (QMLContractTypeFactory)getEFactoryInstance(); |
582 | } |
583 | |
584 | /** |
585 | * <!-- begin-user-doc --> |
586 | * <!-- end-user-doc --> |
587 | * @generated |
588 | */ |
589 | private boolean isCreated = false; |
590 | |
591 | /** |
592 | * Creates the meta-model objects for the package. This method is |
593 | * guarded to have no affect on any invocation but its first. |
594 | * <!-- begin-user-doc --> |
595 | * <!-- end-user-doc --> |
596 | * @generated |
597 | */ |
598 | public void createPackageContents() { |
599 | if (isCreated) return; |
600 | isCreated = true; |
601 | |
602 | // Create classes and their features |
603 | dimensionTypeSetEClass = createEClass(DIMENSION_TYPE_SET); |
604 | createEReference(dimensionTypeSetEClass, DIMENSION_TYPE_SET__ELEMENTS); |
605 | createEReference(dimensionTypeSetEClass, DIMENSION_TYPE_SET__ORDER); |
606 | |
607 | dimensionTypeEClass = createEClass(DIMENSION_TYPE); |
608 | createEReference(dimensionTypeEClass, DIMENSION_TYPE__RELATION_SEMANTICS); |
609 | |
610 | relationSemanticsEClass = createEClass(RELATION_SEMANTICS); |
611 | createEAttribute(relationSemanticsEClass, RELATION_SEMANTICS__REL_SEM); |
612 | |
613 | elementEClass = createEClass(ELEMENT); |
614 | |
615 | orderEClass = createEClass(ORDER); |
616 | createEReference(orderEClass, ORDER__BIGGER_ELEMENT); |
617 | createEReference(orderEClass, ORDER__SMALLER_ELEMENT); |
618 | |
619 | dimensionTypeEnumEClass = createEClass(DIMENSION_TYPE_ENUM); |
620 | createEReference(dimensionTypeEnumEClass, DIMENSION_TYPE_ENUM__ELEMENTS); |
621 | createEReference(dimensionTypeEnumEClass, DIMENSION_TYPE_ENUM__ORDER); |
622 | |
623 | unitEClass = createEClass(UNIT); |
624 | |
625 | dimensionTypeNumericEClass = createEClass(DIMENSION_TYPE_NUMERIC); |
626 | createEReference(dimensionTypeNumericEClass, DIMENSION_TYPE_NUMERIC__RANGE); |
627 | createEAttribute(dimensionTypeNumericEClass, DIMENSION_TYPE_NUMERIC__DOMAIN); |
628 | |
629 | numericRangeEClass = createEClass(NUMERIC_RANGE); |
630 | createEAttribute(numericRangeEClass, NUMERIC_RANGE__LOWER_LIMIT); |
631 | createEAttribute(numericRangeEClass, NUMERIC_RANGE__UPPER_LIMIT); |
632 | |
633 | qmlContractTypeEClass = createEClass(QML_CONTRACT_TYPE); |
634 | createEReference(qmlContractTypeEClass, QML_CONTRACT_TYPE__DIMENSIONS); |
635 | |
636 | unitRepositoryEClass = createEClass(UNIT_REPOSITORY); |
637 | createEReference(unitRepositoryEClass, UNIT_REPOSITORY__UNITS); |
638 | |
639 | dimensionTypeRepositoryEClass = createEClass(DIMENSION_TYPE_REPOSITORY); |
640 | createEReference(dimensionTypeRepositoryEClass, DIMENSION_TYPE_REPOSITORY__DIMENSION_TYPES); |
641 | |
642 | dimensionEClass = createEClass(DIMENSION); |
643 | createEReference(dimensionEClass, DIMENSION__TYPE); |
644 | createEReference(dimensionEClass, DIMENSION__UNIT); |
645 | |
646 | // Create enums |
647 | enumRelationSemanticsEEnum = createEEnum(ENUM_RELATION_SEMANTICS); |
648 | enumNumericDomainEEnum = createEEnum(ENUM_NUMERIC_DOMAIN); |
649 | } |
650 | |
651 | /** |
652 | * <!-- begin-user-doc --> |
653 | * <!-- end-user-doc --> |
654 | * @generated |
655 | */ |
656 | private boolean isInitialized = false; |
657 | |
658 | /** |
659 | * Complete the initialization of the package and its meta-model. This |
660 | * method is guarded to have no affect on any invocation but its first. |
661 | * <!-- begin-user-doc --> |
662 | * <!-- end-user-doc --> |
663 | * @generated |
664 | */ |
665 | public void initializePackageContents() { |
666 | if (isInitialized) return; |
667 | isInitialized = true; |
668 | |
669 | // Initialize package |
670 | setName(eNAME); |
671 | setNsPrefix(eNS_PREFIX); |
672 | setNsURI(eNS_URI); |
673 | |
674 | // Obtain other dependent packages |
675 | IdentifierPackage theIdentifierPackage = (IdentifierPackage)EPackage.Registry.INSTANCE.getEPackage(IdentifierPackage.eNS_URI); |
676 | EntityPackage theEntityPackage = (EntityPackage)EPackage.Registry.INSTANCE.getEPackage(EntityPackage.eNS_URI); |
677 | QMLDeclarationsPackage theQMLDeclarationsPackage = (QMLDeclarationsPackage)EPackage.Registry.INSTANCE.getEPackage(QMLDeclarationsPackage.eNS_URI); |
678 | |
679 | // Create type parameters |
680 | |
681 | // Set bounds for type parameters |
682 | |
683 | // Add supertypes to classes |
684 | dimensionTypeSetEClass.getESuperTypes().add(this.getDimensionType()); |
685 | dimensionTypeEClass.getESuperTypes().add(theIdentifierPackage.getIdentifier()); |
686 | relationSemanticsEClass.getESuperTypes().add(theIdentifierPackage.getIdentifier()); |
687 | elementEClass.getESuperTypes().add(theEntityPackage.getEntity()); |
688 | orderEClass.getESuperTypes().add(theIdentifierPackage.getIdentifier()); |
689 | dimensionTypeEnumEClass.getESuperTypes().add(this.getDimensionType()); |
690 | unitEClass.getESuperTypes().add(theEntityPackage.getEntity()); |
691 | dimensionTypeNumericEClass.getESuperTypes().add(this.getDimensionType()); |
692 | numericRangeEClass.getESuperTypes().add(theIdentifierPackage.getIdentifier()); |
693 | qmlContractTypeEClass.getESuperTypes().add(theQMLDeclarationsPackage.getQMLDeclaration()); |
694 | unitRepositoryEClass.getESuperTypes().add(theIdentifierPackage.getIdentifier()); |
695 | dimensionTypeRepositoryEClass.getESuperTypes().add(theIdentifierPackage.getIdentifier()); |
696 | dimensionEClass.getESuperTypes().add(theEntityPackage.getEntity()); |
697 | |
698 | // Initialize classes and features; add operations and parameters |
699 | initEClass(dimensionTypeSetEClass, DimensionTypeSet.class, "DimensionTypeSet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
700 | initEReference(getDimensionTypeSet_Elements(), this.getElement(), null, "elements", null, 1, -1, DimensionTypeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
701 | initEReference(getDimensionTypeSet_Order(), this.getOrder(), null, "order", null, 0, -1, DimensionTypeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
702 | |
703 | EOperation op = addEOperation(dimensionTypeSetEClass, ecorePackage.getEBoolean(), "ORDER_can_only_exist_with_RELATIONSEMANTICS", 0, 1, IS_UNIQUE, IS_ORDERED); |
704 | addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED); |
705 | EGenericType g1 = createEGenericType(ecorePackage.getEMap()); |
706 | EGenericType g2 = createEGenericType(ecorePackage.getEJavaObject()); |
707 | g1.getETypeArguments().add(g2); |
708 | g2 = createEGenericType(ecorePackage.getEJavaObject()); |
709 | g1.getETypeArguments().add(g2); |
710 | addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED); |
711 | |
712 | initEClass(dimensionTypeEClass, DimensionType.class, "DimensionType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
713 | initEReference(getDimensionType_RelationSemantics(), this.getRelationSemantics(), null, "relationSemantics", null, 0, 1, DimensionType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
714 | |
715 | initEClass(relationSemanticsEClass, RelationSemantics.class, "RelationSemantics", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
716 | initEAttribute(getRelationSemantics_RelSem(), this.getEnumRelationSemantics(), "relSem", null, 1, 1, RelationSemantics.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
717 | |
718 | initEClass(elementEClass, Element.class, "Element", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
719 | |
720 | initEClass(orderEClass, Order.class, "Order", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
721 | initEReference(getOrder_BiggerElement(), this.getElement(), null, "biggerElement", null, 1, 1, Order.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
722 | initEReference(getOrder_SmallerElement(), this.getElement(), null, "smallerElement", null, 1, 1, Order.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
723 | |
724 | op = addEOperation(orderEClass, ecorePackage.getEBoolean(), "BIGGERELEMENT_must_not_be_SMALLELEMENT", 0, 1, IS_UNIQUE, IS_ORDERED); |
725 | addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED); |
726 | g1 = createEGenericType(ecorePackage.getEMap()); |
727 | g2 = createEGenericType(ecorePackage.getEJavaObject()); |
728 | g1.getETypeArguments().add(g2); |
729 | g2 = createEGenericType(ecorePackage.getEJavaObject()); |
730 | g1.getETypeArguments().add(g2); |
731 | addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED); |
732 | |
733 | initEClass(dimensionTypeEnumEClass, DimensionTypeEnum.class, "DimensionTypeEnum", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
734 | initEReference(getDimensionTypeEnum_Elements(), this.getElement(), null, "elements", null, 1, -1, DimensionTypeEnum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
735 | initEReference(getDimensionTypeEnum_Order(), this.getOrder(), null, "order", null, 0, -1, DimensionTypeEnum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
736 | |
737 | op = addEOperation(dimensionTypeEnumEClass, ecorePackage.getEBoolean(), "ORDER_can_only_exist_with_RELATIONSEMANTICS_and_vice_versa", 0, 1, IS_UNIQUE, IS_ORDERED); |
738 | addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED); |
739 | g1 = createEGenericType(ecorePackage.getEMap()); |
740 | g2 = createEGenericType(ecorePackage.getEJavaObject()); |
741 | g1.getETypeArguments().add(g2); |
742 | g2 = createEGenericType(ecorePackage.getEJavaObject()); |
743 | g1.getETypeArguments().add(g2); |
744 | addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED); |
745 | |
746 | initEClass(unitEClass, Unit.class, "Unit", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
747 | |
748 | initEClass(dimensionTypeNumericEClass, DimensionTypeNumeric.class, "DimensionTypeNumeric", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
749 | initEReference(getDimensionTypeNumeric_Range(), this.getNumericRange(), null, "range", null, 0, 1, DimensionTypeNumeric.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
750 | initEAttribute(getDimensionTypeNumeric_Domain(), this.getEnumNumericDomain(), "domain", null, 1, 1, DimensionTypeNumeric.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
751 | |
752 | op = addEOperation(dimensionTypeNumericEClass, ecorePackage.getEBoolean(), "NUMERICDIMENSIONTYPE_must_have_RELATIONSEMANTICS", 0, 1, IS_UNIQUE, IS_ORDERED); |
753 | addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED); |
754 | g1 = createEGenericType(ecorePackage.getEMap()); |
755 | g2 = createEGenericType(ecorePackage.getEJavaObject()); |
756 | g1.getETypeArguments().add(g2); |
757 | g2 = createEGenericType(ecorePackage.getEJavaObject()); |
758 | g1.getETypeArguments().add(g2); |
759 | addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED); |
760 | |
761 | initEClass(numericRangeEClass, NumericRange.class, "NumericRange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
762 | initEAttribute(getNumericRange_LowerLimit(), ecorePackage.getEDouble(), "lowerLimit", null, 1, 1, NumericRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
763 | initEAttribute(getNumericRange_UpperLimit(), ecorePackage.getEDouble(), "upperLimit", null, 1, 1, NumericRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
764 | |
765 | op = addEOperation(numericRangeEClass, ecorePackage.getEBoolean(), "UPPERLIMIT_must_be_greater_than_LOWERLIMIT", 0, 1, IS_UNIQUE, IS_ORDERED); |
766 | addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED); |
767 | g1 = createEGenericType(ecorePackage.getEMap()); |
768 | g2 = createEGenericType(ecorePackage.getEJavaObject()); |
769 | g1.getETypeArguments().add(g2); |
770 | g2 = createEGenericType(ecorePackage.getEJavaObject()); |
771 | g1.getETypeArguments().add(g2); |
772 | addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED); |
773 | |
774 | initEClass(qmlContractTypeEClass, QMLContractType.class, "QMLContractType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
775 | initEReference(getQMLContractType_Dimensions(), this.getDimension(), null, "dimensions", null, 0, -1, QMLContractType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
776 | |
777 | initEClass(unitRepositoryEClass, UnitRepository.class, "UnitRepository", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
778 | initEReference(getUnitRepository_Units(), this.getUnit(), null, "units", null, 0, -1, UnitRepository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
779 | |
780 | initEClass(dimensionTypeRepositoryEClass, DimensionTypeRepository.class, "DimensionTypeRepository", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
781 | initEReference(getDimensionTypeRepository_DimensionTypes(), this.getDimensionType(), null, "dimensionTypes", null, 0, -1, DimensionTypeRepository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
782 | |
783 | initEClass(dimensionEClass, Dimension.class, "Dimension", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
784 | initEReference(getDimension_Type(), this.getDimensionType(), null, "type", null, 1, 1, Dimension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
785 | initEReference(getDimension_Unit(), this.getUnit(), null, "unit", null, 0, 1, Dimension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); |
786 | |
787 | // Initialize enums and add enum literals |
788 | initEEnum(enumRelationSemanticsEEnum, EnumRelationSemantics.class, "EnumRelationSemantics"); |
789 | addEEnumLiteral(enumRelationSemanticsEEnum, EnumRelationSemantics.DECREASING); |
790 | addEEnumLiteral(enumRelationSemanticsEEnum, EnumRelationSemantics.INCREASING); |
791 | |
792 | initEEnum(enumNumericDomainEEnum, EnumNumericDomain.class, "EnumNumericDomain"); |
793 | addEEnumLiteral(enumNumericDomainEEnum, EnumNumericDomain.REAL); |
794 | addEEnumLiteral(enumNumericDomainEEnum, EnumNumericDomain.INTEGER); |
795 | |
796 | // Create resource |
797 | createResource(eNS_URI); |
798 | } |
799 | |
800 | } //QMLContractTypePackageImpl |