Fix reset of properties with default value
[qt:qtmodeling.git] / src / uml / qobjects / qumlextensionobject.cpp
1 /****************************************************************************
2 **
3 ** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the QtUml module of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia.  For licensing terms and
14 ** conditions see http://qt.digia.com/licensing.  For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file.  Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights.  These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file.  Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41 #include "qumlextensionobject_p.h"
42 #include "private/qmodelingobject_p.h"
43
44 #include <QtUml/QUmlExtension>
45 #include <QtUml/QUmlClass>
46 #include <QtUml/QUmlClassifier>
47 #include <QtUml/QUmlClassifierTemplateParameter>
48 #include <QtUml/QUmlCollaborationUse>
49 #include <QtUml/QUmlComment>
50 #include <QtUml/QUmlConstraint>
51 #include <QtUml/QUmlDependency>
52 #include <QtUml/QUmlElement>
53 #include <QtUml/QUmlElementImport>
54 #include <QtUml/QUmlExtensionEnd>
55 #include <QtUml/QUmlFeature>
56 #include <QtUml/QUmlGeneralization>
57 #include <QtUml/QUmlGeneralizationSet>
58 #include <QtUml/QUmlNamedElement>
59 #include <QtUml/QUmlNamespace>
60 #include <QtUml/QUmlPackage>
61 #include <QtUml/QUmlPackageableElement>
62 #include <QtUml/QUmlPackageImport>
63 #include <QtUml/QUmlParameterableElement>
64 #include <QtUml/QUmlProperty>
65 #include <QtUml/QUmlRedefinableElement>
66 #include <QtUml/QUmlRedefinableTemplateSignature>
67 #include <QtUml/QUmlStringExpression>
68 #include <QtUml/QUmlSubstitution>
69 #include <QtUml/QUmlTemplateBinding>
70 #include <QtUml/QUmlTemplateParameter>
71 #include <QtUml/QUmlTemplateSignature>
72 #include <QtUml/QUmlType>
73 #include <QtUml/QUmlUseCase>
74
75 QT_BEGIN_NAMESPACE
76
77 QUmlExtensionObject::QUmlExtensionObject(QUmlExtension *modelingElement)
78 {
79     setProperty("modelingElement", QVariant::fromValue(static_cast<QModelingElement *>(modelingElement)));
80     setGroupProperties();
81     setPropertyData();
82 }
83
84 // OWNED ATTRIBUTES [Element]
85
86 const QSet<QObject *> QUmlExtensionObject::ownedComments() const
87 {
88     QSet<QObject *> set;
89     foreach (QUmlComment *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->ownedComments())
90         set.insert(element->asQModelingObject());
91     return set;
92 }
93
94 const QSet<QObject *> QUmlExtensionObject::ownedElements() const
95 {
96     QSet<QObject *> set;
97     foreach (QUmlElement *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->ownedElements())
98         set.insert(element->asQModelingObject());
99     return set;
100 }
101
102 QObject *QUmlExtensionObject::owner() const
103 {
104     if (!qmodelingelementproperty_cast<QUmlExtension *>(this)->owner())
105         return 0;
106     else
107         return qmodelingelementproperty_cast<QUmlExtension *>(this)->owner()->asQModelingObject();
108 }
109
110 // OWNED ATTRIBUTES [NamedElement]
111
112 const QSet<QObject *> QUmlExtensionObject::clientDependencies() const
113 {
114     QSet<QObject *> set;
115     foreach (QUmlDependency *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->clientDependencies())
116         set.insert(element->asQModelingObject());
117     return set;
118 }
119
120 QString QUmlExtensionObject::name() const
121 {
122     return qmodelingelementproperty_cast<QUmlExtension *>(this)->name();
123 }
124
125 QObject *QUmlExtensionObject::nameExpression() const
126 {
127     if (!qmodelingelementproperty_cast<QUmlExtension *>(this)->nameExpression())
128         return 0;
129     else
130         return qmodelingelementproperty_cast<QUmlExtension *>(this)->nameExpression()->asQModelingObject();
131 }
132
133 QObject *QUmlExtensionObject::namespace_() const
134 {
135     if (!qmodelingelementproperty_cast<QUmlExtension *>(this)->namespace_())
136         return 0;
137     else
138         return qmodelingelementproperty_cast<QUmlExtension *>(this)->namespace_()->asQModelingObject();
139 }
140
141 QString QUmlExtensionObject::qualifiedName() const
142 {
143     return qmodelingelementproperty_cast<QUmlExtension *>(this)->qualifiedName();
144 }
145
146 // OWNED ATTRIBUTES [Namespace]
147
148 const QSet<QObject *> QUmlExtensionObject::elementImports() const
149 {
150     QSet<QObject *> set;
151     foreach (QUmlElementImport *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->elementImports())
152         set.insert(element->asQModelingObject());
153     return set;
154 }
155
156 const QSet<QObject *> QUmlExtensionObject::importedMembers() const
157 {
158     QSet<QObject *> set;
159     foreach (QUmlPackageableElement *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->importedMembers())
160         set.insert(element->asQModelingObject());
161     return set;
162 }
163
164 const QSet<QObject *> QUmlExtensionObject::members() const
165 {
166     QSet<QObject *> set;
167     foreach (QUmlNamedElement *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->members())
168         set.insert(element->asQModelingObject());
169     return set;
170 }
171
172 const QSet<QObject *> QUmlExtensionObject::ownedMembers() const
173 {
174     QSet<QObject *> set;
175     foreach (QUmlNamedElement *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->ownedMembers())
176         set.insert(element->asQModelingObject());
177     return set;
178 }
179
180 const QSet<QObject *> QUmlExtensionObject::ownedRules() const
181 {
182     QSet<QObject *> set;
183     foreach (QUmlConstraint *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->ownedRules())
184         set.insert(element->asQModelingObject());
185     return set;
186 }
187
188 const QSet<QObject *> QUmlExtensionObject::packageImports() const
189 {
190     QSet<QObject *> set;
191     foreach (QUmlPackageImport *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->packageImports())
192         set.insert(element->asQModelingObject());
193     return set;
194 }
195
196 // OWNED ATTRIBUTES [ParameterableElement]
197
198 QObject *QUmlExtensionObject::owningTemplateParameter() const
199 {
200     if (!qmodelingelementproperty_cast<QUmlExtension *>(this)->owningTemplateParameter())
201         return 0;
202     else
203         return qmodelingelementproperty_cast<QUmlExtension *>(this)->owningTemplateParameter()->asQModelingObject();
204 }
205
206 // OWNED ATTRIBUTES [PackageableElement]
207
208 QtUml::VisibilityKind QUmlExtensionObject::visibility() const
209 {
210     return qmodelingelementproperty_cast<QUmlExtension *>(this)->visibility();
211 }
212
213 // OWNED ATTRIBUTES [Type]
214
215 QObject *QUmlExtensionObject::package() const
216 {
217     if (!qmodelingelementproperty_cast<QUmlExtension *>(this)->package())
218         return 0;
219     else
220         return qmodelingelementproperty_cast<QUmlExtension *>(this)->package()->asQModelingObject();
221 }
222
223 // OWNED ATTRIBUTES [RedefinableElement]
224
225 bool QUmlExtensionObject::isLeaf() const
226 {
227     return qmodelingelementproperty_cast<QUmlExtension *>(this)->isLeaf();
228 }
229
230 const QSet<QObject *> QUmlExtensionObject::redefinedElements() const
231 {
232     QSet<QObject *> set;
233     foreach (QUmlRedefinableElement *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->redefinedElements())
234         set.insert(element->asQModelingObject());
235     return set;
236 }
237
238 const QSet<QObject *> QUmlExtensionObject::redefinitionContexts() const
239 {
240     QSet<QObject *> set;
241     foreach (QUmlClassifier *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->redefinitionContexts())
242         set.insert(element->asQModelingObject());
243     return set;
244 }
245
246 // OWNED ATTRIBUTES [TemplateableElement]
247
248 const QSet<QObject *> QUmlExtensionObject::templateBindings() const
249 {
250     QSet<QObject *> set;
251     foreach (QUmlTemplateBinding *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->templateBindings())
252         set.insert(element->asQModelingObject());
253     return set;
254 }
255
256 // OWNED ATTRIBUTES [Classifier]
257
258 const QSet<QObject *> QUmlExtensionObject::attributes() const
259 {
260     QSet<QObject *> set;
261     foreach (QUmlProperty *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->attributes())
262         set.insert(element->asQModelingObject());
263     return set;
264 }
265
266 const QSet<QObject *> QUmlExtensionObject::collaborationUses() const
267 {
268     QSet<QObject *> set;
269     foreach (QUmlCollaborationUse *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->collaborationUses())
270         set.insert(element->asQModelingObject());
271     return set;
272 }
273
274 const QSet<QObject *> QUmlExtensionObject::features() const
275 {
276     QSet<QObject *> set;
277     foreach (QUmlFeature *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->features())
278         set.insert(element->asQModelingObject());
279     return set;
280 }
281
282 const QSet<QObject *> QUmlExtensionObject::generals() const
283 {
284     QSet<QObject *> set;
285     foreach (QUmlClassifier *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->generals())
286         set.insert(element->asQModelingObject());
287     return set;
288 }
289
290 const QSet<QObject *> QUmlExtensionObject::generalizations() const
291 {
292     QSet<QObject *> set;
293     foreach (QUmlGeneralization *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->generalizations())
294         set.insert(element->asQModelingObject());
295     return set;
296 }
297
298 const QSet<QObject *> QUmlExtensionObject::inheritedMembers() const
299 {
300     QSet<QObject *> set;
301     foreach (QUmlNamedElement *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->inheritedMembers())
302         set.insert(element->asQModelingObject());
303     return set;
304 }
305
306 bool QUmlExtensionObject::isAbstract() const
307 {
308     return qmodelingelementproperty_cast<QUmlExtension *>(this)->isAbstract();
309 }
310
311 bool QUmlExtensionObject::isFinalSpecialization() const
312 {
313     return qmodelingelementproperty_cast<QUmlExtension *>(this)->isFinalSpecialization();
314 }
315
316 QObject *QUmlExtensionObject::ownedTemplateSignature() const
317 {
318     if (!qmodelingelementproperty_cast<QUmlExtension *>(this)->ownedTemplateSignature())
319         return 0;
320     else
321         return qmodelingelementproperty_cast<QUmlExtension *>(this)->ownedTemplateSignature()->asQModelingObject();
322 }
323
324 const QSet<QObject *> QUmlExtensionObject::ownedUseCases() const
325 {
326     QSet<QObject *> set;
327     foreach (QUmlUseCase *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->ownedUseCases())
328         set.insert(element->asQModelingObject());
329     return set;
330 }
331
332 const QSet<QObject *> QUmlExtensionObject::powertypeExtents() const
333 {
334     QSet<QObject *> set;
335     foreach (QUmlGeneralizationSet *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->powertypeExtents())
336         set.insert(element->asQModelingObject());
337     return set;
338 }
339
340 const QSet<QObject *> QUmlExtensionObject::redefinedClassifiers() const
341 {
342     QSet<QObject *> set;
343     foreach (QUmlClassifier *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->redefinedClassifiers())
344         set.insert(element->asQModelingObject());
345     return set;
346 }
347
348 QObject *QUmlExtensionObject::representation() const
349 {
350     if (!qmodelingelementproperty_cast<QUmlExtension *>(this)->representation())
351         return 0;
352     else
353         return qmodelingelementproperty_cast<QUmlExtension *>(this)->representation()->asQModelingObject();
354 }
355
356 const QSet<QObject *> QUmlExtensionObject::substitutions() const
357 {
358     QSet<QObject *> set;
359     foreach (QUmlSubstitution *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->substitutions())
360         set.insert(element->asQModelingObject());
361     return set;
362 }
363
364 QObject *QUmlExtensionObject::templateParameter() const
365 {
366     if (!qmodelingelementproperty_cast<QUmlExtension *>(this)->templateParameter())
367         return 0;
368     else
369         return qmodelingelementproperty_cast<QUmlExtension *>(this)->templateParameter()->asQModelingObject();
370 }
371
372 const QSet<QObject *> QUmlExtensionObject::useCases() const
373 {
374     QSet<QObject *> set;
375     foreach (QUmlUseCase *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->useCases())
376         set.insert(element->asQModelingObject());
377     return set;
378 }
379
380 // OWNED ATTRIBUTES [Relationship]
381
382 const QSet<QObject *> QUmlExtensionObject::relatedElements() const
383 {
384     QSet<QObject *> set;
385     foreach (QUmlElement *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->relatedElements())
386         set.insert(element->asQModelingObject());
387     return set;
388 }
389
390 // OWNED ATTRIBUTES [Association]
391
392 const QList<QObject *> QUmlExtensionObject::endTypes() const
393 {
394     QList<QObject *> list;
395     foreach (QUmlType *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->endTypes())
396         list.append(element->asQModelingObject());
397     return list;
398 }
399
400 bool QUmlExtensionObject::isDerived() const
401 {
402     return qmodelingelementproperty_cast<QUmlExtension *>(this)->isDerived();
403 }
404
405 const QList<QObject *> QUmlExtensionObject::memberEnds() const
406 {
407     QList<QObject *> list;
408     foreach (QUmlProperty *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->memberEnds())
409         list.append(element->asQModelingObject());
410     return list;
411 }
412
413 const QSet<QObject *> QUmlExtensionObject::navigableOwnedEnds() const
414 {
415     QSet<QObject *> set;
416     foreach (QUmlProperty *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->navigableOwnedEnds())
417         set.insert(element->asQModelingObject());
418     return set;
419 }
420
421 // OWNED ATTRIBUTES [Extension]
422
423 bool QUmlExtensionObject::isRequired() const
424 {
425     return qmodelingelementproperty_cast<QUmlExtension *>(this)->isRequired();
426 }
427
428 QObject *QUmlExtensionObject::metaclass() const
429 {
430     if (!qmodelingelementproperty_cast<QUmlExtension *>(this)->metaclass())
431         return 0;
432     else
433         return qmodelingelementproperty_cast<QUmlExtension *>(this)->metaclass()->asQModelingObject();
434 }
435
436 QObject *QUmlExtensionObject::ownedEnd() const
437 {
438     if (!qmodelingelementproperty_cast<QUmlExtension *>(this)->ownedEnd())
439         return 0;
440     else
441         return qmodelingelementproperty_cast<QUmlExtension *>(this)->ownedEnd()->asQModelingObject();
442 }
443
444 // OPERATIONS [Element]
445
446 QSet<QObject *> QUmlExtensionObject::allOwnedElements() const
447 {
448     QSet<QObject *> set;
449     foreach (QUmlElement *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->allOwnedElements())
450         set.insert(element->asQModelingObject());
451     return set;
452 }
453
454 bool QUmlExtensionObject::mustBeOwned() const
455 {
456     return qmodelingelementproperty_cast<QUmlExtension *>(this)->mustBeOwned();
457 }
458
459 // OPERATIONS [NamedElement]
460
461 QList<QObject *> QUmlExtensionObject::allNamespaces() const
462 {
463     QList<QObject *> set;
464     foreach (QUmlNamespace *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->allNamespaces())
465         set.append(element->asQModelingObject());
466     return set;
467 }
468
469 QSet<QObject *> QUmlExtensionObject::allOwningPackages() const
470 {
471     QSet<QObject *> set;
472     foreach (QUmlPackage *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->allOwningPackages())
473         set.insert(element->asQModelingObject());
474     return set;
475 }
476
477 bool QUmlExtensionObject::isDistinguishableFrom(QObject *n, QObject *ns) const
478 {
479     return qmodelingelementproperty_cast<QUmlExtension *>(this)->isDistinguishableFrom(qmodelingelementproperty_cast<QUmlNamedElement *>(n), qmodelingelementproperty_cast<QUmlNamespace *>(ns));
480 }
481
482 QString QUmlExtensionObject::separator() const
483 {
484     return qmodelingelementproperty_cast<QUmlExtension *>(this)->separator();
485 }
486
487 // OPERATIONS [Namespace]
488
489 QSet<QObject *> QUmlExtensionObject::excludeCollisions(QSet<QObject *> imps) const
490 {
491     QSet<QUmlPackageableElement *> impsConverted;
492     foreach (QObject *object, imps)
493         impsConverted.insert(qmodelingelementproperty_cast<QUmlPackageableElement *>(object));
494     QSet<QObject *> set;
495     foreach (QUmlPackageableElement *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->excludeCollisions(impsConverted))
496         set.insert(element->asQModelingObject());
497     return set;
498 }
499
500 QSet<QString> QUmlExtensionObject::getNamesOfMember(QObject *element) const
501 {
502     return qmodelingelementproperty_cast<QUmlExtension *>(this)->getNamesOfMember(qmodelingelementproperty_cast<QUmlNamedElement *>(element));
503 }
504
505 QSet<QObject *> QUmlExtensionObject::importMembers(QSet<QObject *> imps) const
506 {
507     QSet<QUmlPackageableElement *> impsConverted;
508     foreach (QObject *object, imps)
509         impsConverted.insert(qmodelingelementproperty_cast<QUmlPackageableElement *>(object));
510     QSet<QObject *> set;
511     foreach (QUmlPackageableElement *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->importMembers(impsConverted))
512         set.insert(element->asQModelingObject());
513     return set;
514 }
515
516 bool QUmlExtensionObject::membersAreDistinguishable() const
517 {
518     return qmodelingelementproperty_cast<QUmlExtension *>(this)->membersAreDistinguishable();
519 }
520
521 // OPERATIONS [ParameterableElement]
522
523 bool QUmlExtensionObject::isCompatibleWith(QObject *p) const
524 {
525     return qmodelingelementproperty_cast<QUmlExtension *>(this)->isCompatibleWith(qmodelingelementproperty_cast<QUmlParameterableElement *>(p));
526 }
527
528 bool QUmlExtensionObject::isTemplateParameter() const
529 {
530     return qmodelingelementproperty_cast<QUmlExtension *>(this)->isTemplateParameter();
531 }
532
533 // OPERATIONS [Type]
534
535 // OPERATIONS [RedefinableElement]
536
537 bool QUmlExtensionObject::isConsistentWith(QObject *redefinee) const
538 {
539     return qmodelingelementproperty_cast<QUmlExtension *>(this)->isConsistentWith(qmodelingelementproperty_cast<QUmlRedefinableElement *>(redefinee));
540 }
541
542 bool QUmlExtensionObject::isRedefinitionContextValid(QObject *redefined) const
543 {
544     return qmodelingelementproperty_cast<QUmlExtension *>(this)->isRedefinitionContextValid(qmodelingelementproperty_cast<QUmlRedefinableElement *>(redefined));
545 }
546
547 // OPERATIONS [TemplateableElement]
548
549 QSet<QObject *> QUmlExtensionObject::parameterableElements() const
550 {
551     QSet<QObject *> set;
552     foreach (QUmlParameterableElement *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->parameterableElements())
553         set.insert(element->asQModelingObject());
554     return set;
555 }
556
557 // OPERATIONS [Classifier]
558
559 QSet<QObject *> QUmlExtensionObject::allFeatures() const
560 {
561     QSet<QObject *> set;
562     foreach (QUmlFeature *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->allFeatures())
563         set.insert(element->asQModelingObject());
564     return set;
565 }
566
567 QSet<QObject *> QUmlExtensionObject::allParents() const
568 {
569     QSet<QObject *> set;
570     foreach (QUmlClassifier *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->allParents())
571         set.insert(element->asQModelingObject());
572     return set;
573 }
574
575 bool QUmlExtensionObject::conformsTo(QObject *other) const
576 {
577     return qmodelingelementproperty_cast<QUmlExtension *>(this)->conformsTo(qmodelingelementproperty_cast<QUmlClassifier *>(other));
578 }
579
580 bool QUmlExtensionObject::hasVisibilityOf(QObject *n) const
581 {
582     return qmodelingelementproperty_cast<QUmlExtension *>(this)->hasVisibilityOf(qmodelingelementproperty_cast<QUmlNamedElement *>(n));
583 }
584
585 QSet<QObject *> QUmlExtensionObject::inherit(QSet<QObject *> inhs) const
586 {
587     QSet<QUmlNamedElement *> inhsConverted;
588     foreach (QObject *object, inhs)
589         inhsConverted.insert(qmodelingelementproperty_cast<QUmlNamedElement *>(object));
590     QSet<QObject *> set;
591     foreach (QUmlNamedElement *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->inherit(inhsConverted))
592         set.insert(element->asQModelingObject());
593     return set;
594 }
595
596 QSet<QObject *> QUmlExtensionObject::inheritableMembers(QObject *c) const
597 {
598     QSet<QObject *> set;
599     foreach (QUmlNamedElement *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->inheritableMembers(qmodelingelementproperty_cast<QUmlClassifier *>(c)))
600         set.insert(element->asQModelingObject());
601     return set;
602 }
603
604 bool QUmlExtensionObject::isTemplate() const
605 {
606     return qmodelingelementproperty_cast<QUmlExtension *>(this)->isTemplate();
607 }
608
609 bool QUmlExtensionObject::maySpecializeType(QObject *c) const
610 {
611     return qmodelingelementproperty_cast<QUmlExtension *>(this)->maySpecializeType(qmodelingelementproperty_cast<QUmlClassifier *>(c));
612 }
613
614 QSet<QObject *> QUmlExtensionObject::parents() const
615 {
616     QSet<QObject *> set;
617     foreach (QUmlClassifier *element, qmodelingelementproperty_cast<QUmlExtension *>(this)->parents())
618         set.insert(element->asQModelingObject());
619     return set;
620 }
621
622 // OPERATIONS [Extension]
623
624 QObject *QUmlExtensionObject::metaclassEnd() const
625 {
626     if (!qmodelingelementproperty_cast<QUmlExtension *>(this)->metaclassEnd())
627         return 0;
628     else
629         return qmodelingelementproperty_cast<QUmlExtension *>(this)->metaclassEnd()->asQModelingObject();
630 }
631
632 // SLOTS FOR OWNED ATTRIBUTES [Element]
633
634 void QUmlExtensionObject::addOwnedComment(QObject *ownedComment)
635 {
636     qmodelingelementproperty_cast<QUmlExtension *>(this)->addOwnedComment(qmodelingelementproperty_cast<QUmlComment *>(ownedComment));
637 }
638
639 void QUmlExtensionObject::removeOwnedComment(QObject *ownedComment)
640 {
641     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeOwnedComment(qmodelingelementproperty_cast<QUmlComment *>(ownedComment));
642 }
643
644 void QUmlExtensionObject::addOwnedElement(QObject *ownedElement)
645 {
646     qmodelingelementproperty_cast<QUmlExtension *>(this)->addOwnedElement(qmodelingelementproperty_cast<QUmlElement *>(ownedElement));
647 }
648
649 void QUmlExtensionObject::removeOwnedElement(QObject *ownedElement)
650 {
651     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeOwnedElement(qmodelingelementproperty_cast<QUmlElement *>(ownedElement));
652 }
653
654 void QUmlExtensionObject::setOwner(QObject *owner)
655 {
656     qmodelingelementproperty_cast<QUmlExtension *>(this)->setOwner(qmodelingelementproperty_cast<QUmlElement *>(owner));
657 }
658
659 // SLOTS FOR OWNED ATTRIBUTES [NamedElement]
660
661 void QUmlExtensionObject::addClientDependency(QObject *clientDependency)
662 {
663     qmodelingelementproperty_cast<QUmlExtension *>(this)->addClientDependency(qmodelingelementproperty_cast<QUmlDependency *>(clientDependency));
664 }
665
666 void QUmlExtensionObject::removeClientDependency(QObject *clientDependency)
667 {
668     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeClientDependency(qmodelingelementproperty_cast<QUmlDependency *>(clientDependency));
669 }
670
671 void QUmlExtensionObject::setName(QString name)
672 {
673     qmodelingelementproperty_cast<QUmlExtension *>(this)->setName(name);
674 }
675
676 void QUmlExtensionObject::setNameExpression(QObject *nameExpression)
677 {
678     qmodelingelementproperty_cast<QUmlExtension *>(this)->setNameExpression(qmodelingelementproperty_cast<QUmlStringExpression *>(nameExpression));
679 }
680
681 void QUmlExtensionObject::setNamespace(QObject *namespace_)
682 {
683     qmodelingelementproperty_cast<QUmlExtension *>(this)->setNamespace(qmodelingelementproperty_cast<QUmlNamespace *>(namespace_));
684 }
685
686 void QUmlExtensionObject::setQualifiedName(QString qualifiedName)
687 {
688     qmodelingelementproperty_cast<QUmlExtension *>(this)->setQualifiedName(qualifiedName);
689 }
690 // SLOTS FOR OWNED ATTRIBUTES [Namespace]
691
692 void QUmlExtensionObject::addElementImport(QObject *elementImport)
693 {
694     qmodelingelementproperty_cast<QUmlExtension *>(this)->addElementImport(qmodelingelementproperty_cast<QUmlElementImport *>(elementImport));
695 }
696
697 void QUmlExtensionObject::removeElementImport(QObject *elementImport)
698 {
699     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeElementImport(qmodelingelementproperty_cast<QUmlElementImport *>(elementImport));
700 }
701
702 void QUmlExtensionObject::addImportedMember(QObject *importedMember)
703 {
704     qmodelingelementproperty_cast<QUmlExtension *>(this)->addImportedMember(qmodelingelementproperty_cast<QUmlPackageableElement *>(importedMember));
705 }
706
707 void QUmlExtensionObject::removeImportedMember(QObject *importedMember)
708 {
709     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeImportedMember(qmodelingelementproperty_cast<QUmlPackageableElement *>(importedMember));
710 }
711
712 void QUmlExtensionObject::addMember(QObject *member)
713 {
714     qmodelingelementproperty_cast<QUmlExtension *>(this)->addMember(qmodelingelementproperty_cast<QUmlNamedElement *>(member));
715 }
716
717 void QUmlExtensionObject::removeMember(QObject *member)
718 {
719     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeMember(qmodelingelementproperty_cast<QUmlNamedElement *>(member));
720 }
721
722 void QUmlExtensionObject::addOwnedMember(QObject *ownedMember)
723 {
724     qmodelingelementproperty_cast<QUmlExtension *>(this)->addOwnedMember(qmodelingelementproperty_cast<QUmlNamedElement *>(ownedMember));
725 }
726
727 void QUmlExtensionObject::removeOwnedMember(QObject *ownedMember)
728 {
729     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeOwnedMember(qmodelingelementproperty_cast<QUmlNamedElement *>(ownedMember));
730 }
731
732 void QUmlExtensionObject::addOwnedRule(QObject *ownedRule)
733 {
734     qmodelingelementproperty_cast<QUmlExtension *>(this)->addOwnedRule(qmodelingelementproperty_cast<QUmlConstraint *>(ownedRule));
735 }
736
737 void QUmlExtensionObject::removeOwnedRule(QObject *ownedRule)
738 {
739     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeOwnedRule(qmodelingelementproperty_cast<QUmlConstraint *>(ownedRule));
740 }
741
742 void QUmlExtensionObject::addPackageImport(QObject *packageImport)
743 {
744     qmodelingelementproperty_cast<QUmlExtension *>(this)->addPackageImport(qmodelingelementproperty_cast<QUmlPackageImport *>(packageImport));
745 }
746
747 void QUmlExtensionObject::removePackageImport(QObject *packageImport)
748 {
749     qmodelingelementproperty_cast<QUmlExtension *>(this)->removePackageImport(qmodelingelementproperty_cast<QUmlPackageImport *>(packageImport));
750 }
751
752 // SLOTS FOR OWNED ATTRIBUTES [ParameterableElement]
753
754 void QUmlExtensionObject::setOwningTemplateParameter(QObject *owningTemplateParameter)
755 {
756     qmodelingelementproperty_cast<QUmlExtension *>(this)->setOwningTemplateParameter(qmodelingelementproperty_cast<QUmlTemplateParameter *>(owningTemplateParameter));
757 }
758 // SLOTS FOR OWNED ATTRIBUTES [PackageableElement]
759
760 void QUmlExtensionObject::setVisibility(QtUml::VisibilityKind visibility)
761 {
762     qmodelingelementproperty_cast<QUmlExtension *>(this)->setVisibility(visibility);
763 }
764
765 void QUmlExtensionObject::unsetVisibility()
766 {
767     Q_D(QModelingObject);
768     setVisibility(QtUml::VisibilityKindPublic);
769     d->modifiedResettableProperties.removeAll(QStringLiteral("visibility"));
770 }
771
772 // SLOTS FOR OWNED ATTRIBUTES [Type]
773
774 void QUmlExtensionObject::setPackage(QObject *package)
775 {
776     qmodelingelementproperty_cast<QUmlExtension *>(this)->setPackage(qmodelingelementproperty_cast<QUmlPackage *>(package));
777 }
778
779 // SLOTS FOR OWNED ATTRIBUTES [RedefinableElement]
780
781 void QUmlExtensionObject::setLeaf(bool isLeaf)
782 {
783     qmodelingelementproperty_cast<QUmlExtension *>(this)->setLeaf(isLeaf);
784 }
785
786 void QUmlExtensionObject::unsetLeaf()
787 {
788     Q_D(QModelingObject);
789     setLeaf(false);
790     d->modifiedResettableProperties.removeAll(QStringLiteral("leaf"));
791 }
792
793 void QUmlExtensionObject::addRedefinedElement(QObject *redefinedElement)
794 {
795     qmodelingelementproperty_cast<QUmlExtension *>(this)->addRedefinedElement(qmodelingelementproperty_cast<QUmlRedefinableElement *>(redefinedElement));
796 }
797
798 void QUmlExtensionObject::removeRedefinedElement(QObject *redefinedElement)
799 {
800     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeRedefinedElement(qmodelingelementproperty_cast<QUmlRedefinableElement *>(redefinedElement));
801 }
802
803 void QUmlExtensionObject::addRedefinitionContext(QObject *redefinitionContext)
804 {
805     qmodelingelementproperty_cast<QUmlExtension *>(this)->addRedefinitionContext(qmodelingelementproperty_cast<QUmlClassifier *>(redefinitionContext));
806 }
807
808 void QUmlExtensionObject::removeRedefinitionContext(QObject *redefinitionContext)
809 {
810     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeRedefinitionContext(qmodelingelementproperty_cast<QUmlClassifier *>(redefinitionContext));
811 }
812
813 // SLOTS FOR OWNED ATTRIBUTES [TemplateableElement]
814
815 void QUmlExtensionObject::addTemplateBinding(QObject *templateBinding)
816 {
817     qmodelingelementproperty_cast<QUmlExtension *>(this)->addTemplateBinding(qmodelingelementproperty_cast<QUmlTemplateBinding *>(templateBinding));
818 }
819
820 void QUmlExtensionObject::removeTemplateBinding(QObject *templateBinding)
821 {
822     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeTemplateBinding(qmodelingelementproperty_cast<QUmlTemplateBinding *>(templateBinding));
823 }
824
825 // SLOTS FOR OWNED ATTRIBUTES [Classifier]
826
827 void QUmlExtensionObject::addAttribute(QObject *attribute)
828 {
829     qmodelingelementproperty_cast<QUmlExtension *>(this)->addAttribute(qmodelingelementproperty_cast<QUmlProperty *>(attribute));
830 }
831
832 void QUmlExtensionObject::removeAttribute(QObject *attribute)
833 {
834     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeAttribute(qmodelingelementproperty_cast<QUmlProperty *>(attribute));
835 }
836
837 void QUmlExtensionObject::addCollaborationUse(QObject *collaborationUse)
838 {
839     qmodelingelementproperty_cast<QUmlExtension *>(this)->addCollaborationUse(qmodelingelementproperty_cast<QUmlCollaborationUse *>(collaborationUse));
840 }
841
842 void QUmlExtensionObject::removeCollaborationUse(QObject *collaborationUse)
843 {
844     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeCollaborationUse(qmodelingelementproperty_cast<QUmlCollaborationUse *>(collaborationUse));
845 }
846
847 void QUmlExtensionObject::addFeature(QObject *feature)
848 {
849     qmodelingelementproperty_cast<QUmlExtension *>(this)->addFeature(qmodelingelementproperty_cast<QUmlFeature *>(feature));
850 }
851
852 void QUmlExtensionObject::removeFeature(QObject *feature)
853 {
854     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeFeature(qmodelingelementproperty_cast<QUmlFeature *>(feature));
855 }
856
857 void QUmlExtensionObject::addGeneral(QObject *general)
858 {
859     qmodelingelementproperty_cast<QUmlExtension *>(this)->addGeneral(qmodelingelementproperty_cast<QUmlClassifier *>(general));
860 }
861
862 void QUmlExtensionObject::removeGeneral(QObject *general)
863 {
864     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeGeneral(qmodelingelementproperty_cast<QUmlClassifier *>(general));
865 }
866
867 void QUmlExtensionObject::addGeneralization(QObject *generalization)
868 {
869     qmodelingelementproperty_cast<QUmlExtension *>(this)->addGeneralization(qmodelingelementproperty_cast<QUmlGeneralization *>(generalization));
870 }
871
872 void QUmlExtensionObject::removeGeneralization(QObject *generalization)
873 {
874     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeGeneralization(qmodelingelementproperty_cast<QUmlGeneralization *>(generalization));
875 }
876
877 void QUmlExtensionObject::addInheritedMember(QObject *inheritedMember)
878 {
879     qmodelingelementproperty_cast<QUmlExtension *>(this)->addInheritedMember(qmodelingelementproperty_cast<QUmlNamedElement *>(inheritedMember));
880 }
881
882 void QUmlExtensionObject::removeInheritedMember(QObject *inheritedMember)
883 {
884     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeInheritedMember(qmodelingelementproperty_cast<QUmlNamedElement *>(inheritedMember));
885 }
886
887 void QUmlExtensionObject::setAbstract(bool isAbstract)
888 {
889     qmodelingelementproperty_cast<QUmlExtension *>(this)->setAbstract(isAbstract);
890 }
891
892 void QUmlExtensionObject::unsetAbstract()
893 {
894     Q_D(QModelingObject);
895     setAbstract(false);
896     d->modifiedResettableProperties.removeAll(QStringLiteral("abstract"));
897 }
898
899 void QUmlExtensionObject::setFinalSpecialization(bool isFinalSpecialization)
900 {
901     qmodelingelementproperty_cast<QUmlExtension *>(this)->setFinalSpecialization(isFinalSpecialization);
902 }
903
904 void QUmlExtensionObject::unsetFinalSpecialization()
905 {
906     Q_D(QModelingObject);
907     setFinalSpecialization(false);
908     d->modifiedResettableProperties.removeAll(QStringLiteral("finalSpecialization"));
909 }
910
911 void QUmlExtensionObject::setOwnedTemplateSignature(QObject *ownedTemplateSignature)
912 {
913     qmodelingelementproperty_cast<QUmlExtension *>(this)->setOwnedTemplateSignature(qmodelingelementproperty_cast<QUmlRedefinableTemplateSignature *>(ownedTemplateSignature));
914 }
915
916 void QUmlExtensionObject::addOwnedUseCase(QObject *ownedUseCase)
917 {
918     qmodelingelementproperty_cast<QUmlExtension *>(this)->addOwnedUseCase(qmodelingelementproperty_cast<QUmlUseCase *>(ownedUseCase));
919 }
920
921 void QUmlExtensionObject::removeOwnedUseCase(QObject *ownedUseCase)
922 {
923     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeOwnedUseCase(qmodelingelementproperty_cast<QUmlUseCase *>(ownedUseCase));
924 }
925
926 void QUmlExtensionObject::addPowertypeExtent(QObject *powertypeExtent)
927 {
928     qmodelingelementproperty_cast<QUmlExtension *>(this)->addPowertypeExtent(qmodelingelementproperty_cast<QUmlGeneralizationSet *>(powertypeExtent));
929 }
930
931 void QUmlExtensionObject::removePowertypeExtent(QObject *powertypeExtent)
932 {
933     qmodelingelementproperty_cast<QUmlExtension *>(this)->removePowertypeExtent(qmodelingelementproperty_cast<QUmlGeneralizationSet *>(powertypeExtent));
934 }
935
936 void QUmlExtensionObject::addRedefinedClassifier(QObject *redefinedClassifier)
937 {
938     qmodelingelementproperty_cast<QUmlExtension *>(this)->addRedefinedClassifier(qmodelingelementproperty_cast<QUmlClassifier *>(redefinedClassifier));
939 }
940
941 void QUmlExtensionObject::removeRedefinedClassifier(QObject *redefinedClassifier)
942 {
943     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeRedefinedClassifier(qmodelingelementproperty_cast<QUmlClassifier *>(redefinedClassifier));
944 }
945
946 void QUmlExtensionObject::setRepresentation(QObject *representation)
947 {
948     qmodelingelementproperty_cast<QUmlExtension *>(this)->setRepresentation(qmodelingelementproperty_cast<QUmlCollaborationUse *>(representation));
949 }
950
951 void QUmlExtensionObject::addSubstitution(QObject *substitution)
952 {
953     qmodelingelementproperty_cast<QUmlExtension *>(this)->addSubstitution(qmodelingelementproperty_cast<QUmlSubstitution *>(substitution));
954 }
955
956 void QUmlExtensionObject::removeSubstitution(QObject *substitution)
957 {
958     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeSubstitution(qmodelingelementproperty_cast<QUmlSubstitution *>(substitution));
959 }
960
961 void QUmlExtensionObject::setTemplateParameter(QObject *templateParameter)
962 {
963     qmodelingelementproperty_cast<QUmlExtension *>(this)->setTemplateParameter(qmodelingelementproperty_cast<QUmlClassifierTemplateParameter *>(templateParameter));
964 }
965
966 void QUmlExtensionObject::addUseCase(QObject *useCase)
967 {
968     qmodelingelementproperty_cast<QUmlExtension *>(this)->addUseCase(qmodelingelementproperty_cast<QUmlUseCase *>(useCase));
969 }
970
971 void QUmlExtensionObject::removeUseCase(QObject *useCase)
972 {
973     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeUseCase(qmodelingelementproperty_cast<QUmlUseCase *>(useCase));
974 }
975
976 // SLOTS FOR OWNED ATTRIBUTES [Relationship]
977
978 void QUmlExtensionObject::addRelatedElement(QObject *relatedElement)
979 {
980     qmodelingelementproperty_cast<QUmlExtension *>(this)->addRelatedElement(qmodelingelementproperty_cast<QUmlElement *>(relatedElement));
981 }
982
983 void QUmlExtensionObject::removeRelatedElement(QObject *relatedElement)
984 {
985     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeRelatedElement(qmodelingelementproperty_cast<QUmlElement *>(relatedElement));
986 }
987
988 // SLOTS FOR OWNED ATTRIBUTES [Association]
989
990 void QUmlExtensionObject::addEndType(QObject *endType)
991 {
992     qmodelingelementproperty_cast<QUmlExtension *>(this)->addEndType(qmodelingelementproperty_cast<QUmlType *>(endType));
993 }
994
995 void QUmlExtensionObject::removeEndType(QObject *endType)
996 {
997     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeEndType(qmodelingelementproperty_cast<QUmlType *>(endType));
998 }
999
1000 void QUmlExtensionObject::setDerived(bool isDerived)
1001 {
1002     qmodelingelementproperty_cast<QUmlExtension *>(this)->setDerived(isDerived);
1003 }
1004
1005 void QUmlExtensionObject::unsetDerived()
1006 {
1007     Q_D(QModelingObject);
1008     setDerived(false);
1009     d->modifiedResettableProperties.removeAll(QStringLiteral("derived"));
1010 }
1011
1012 void QUmlExtensionObject::addMemberEnd(QObject *memberEnd)
1013 {
1014     qmodelingelementproperty_cast<QUmlExtension *>(this)->addMemberEnd(qmodelingelementproperty_cast<QUmlProperty *>(memberEnd));
1015 }
1016
1017 void QUmlExtensionObject::removeMemberEnd(QObject *memberEnd)
1018 {
1019     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeMemberEnd(qmodelingelementproperty_cast<QUmlProperty *>(memberEnd));
1020 }
1021
1022 void QUmlExtensionObject::addNavigableOwnedEnd(QObject *navigableOwnedEnd)
1023 {
1024     qmodelingelementproperty_cast<QUmlExtension *>(this)->addNavigableOwnedEnd(qmodelingelementproperty_cast<QUmlProperty *>(navigableOwnedEnd));
1025 }
1026
1027 void QUmlExtensionObject::removeNavigableOwnedEnd(QObject *navigableOwnedEnd)
1028 {
1029     qmodelingelementproperty_cast<QUmlExtension *>(this)->removeNavigableOwnedEnd(qmodelingelementproperty_cast<QUmlProperty *>(navigableOwnedEnd));
1030 }
1031 // SLOTS FOR OWNED ATTRIBUTES [Extension]
1032
1033 void QUmlExtensionObject::setRequired(bool isRequired)
1034 {
1035     qmodelingelementproperty_cast<QUmlExtension *>(this)->setRequired(isRequired);
1036 }
1037
1038 void QUmlExtensionObject::unsetRequired()
1039 {
1040     Q_D(QModelingObject);
1041     setRequired(false);
1042     d->modifiedResettableProperties.removeAll(QStringLiteral("required"));
1043 }
1044
1045 void QUmlExtensionObject::setMetaclass(QObject *metaclass)
1046 {
1047     qmodelingelementproperty_cast<QUmlExtension *>(this)->setMetaclass(qmodelingelementproperty_cast<QUmlClass *>(metaclass));
1048 }
1049
1050 void QUmlExtensionObject::setOwnedEnd(QObject *ownedEnd)
1051 {
1052     qmodelingelementproperty_cast<QUmlExtension *>(this)->setOwnedEnd(qmodelingelementproperty_cast<QUmlExtensionEnd *>(ownedEnd));
1053 }
1054
1055
1056 void QUmlExtensionObject::setGroupProperties()
1057 {
1058     Q_D(QModelingObject);
1059     const QMetaObject *metaObject = this->metaObject();
1060
1061     d->propertyGroups << QStringLiteral("QObject");
1062     d->groupProperties.insert(QStringLiteral("QObject"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("objectName"))));
1063
1064     d->propertyGroups << QStringLiteral("QUmlElement");
1065     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedComments"))));
1066     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedElements"))));
1067     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("owner"))));
1068
1069     d->propertyGroups << QStringLiteral("QUmlNamedElement");
1070     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("clientDependencies"))));
1071     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("name"))));
1072     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("nameExpression"))));
1073     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("namespace_"))));
1074     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("qualifiedName"))));
1075
1076     d->propertyGroups << QStringLiteral("QUmlNamespace");
1077     d->groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("elementImports"))));
1078     d->groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("importedMembers"))));
1079     d->groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("members"))));
1080     d->groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedMembers"))));
1081     d->groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedRules"))));
1082     d->groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("packageImports"))));
1083
1084     d->propertyGroups << QStringLiteral("QUmlParameterableElement");
1085     d->groupProperties.insert(QStringLiteral("QUmlParameterableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("owningTemplateParameter"))));
1086
1087     d->propertyGroups << QStringLiteral("QUmlPackageableElement");
1088     d->groupProperties.insert(QStringLiteral("QUmlPackageableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("visibility"))));
1089
1090     d->propertyGroups << QStringLiteral("QUmlType");
1091     d->groupProperties.insert(QStringLiteral("QUmlType"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("package"))));
1092
1093     d->propertyGroups << QStringLiteral("QUmlRedefinableElement");
1094     d->groupProperties.insert(QStringLiteral("QUmlRedefinableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isLeaf"))));
1095     d->groupProperties.insert(QStringLiteral("QUmlRedefinableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("redefinedElements"))));
1096     d->groupProperties.insert(QStringLiteral("QUmlRedefinableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("redefinitionContexts"))));
1097
1098     d->propertyGroups << QStringLiteral("QUmlTemplateableElement");
1099     d->groupProperties.insert(QStringLiteral("QUmlTemplateableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("templateBindings"))));
1100
1101     d->propertyGroups << QStringLiteral("QUmlClassifier");
1102     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("attributes"))));
1103     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("collaborationUses"))));
1104     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("features"))));
1105     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("generals"))));
1106     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("generalizations"))));
1107     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("inheritedMembers"))));
1108     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isAbstract"))));
1109     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isFinalSpecialization"))));
1110     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedTemplateSignature"))));
1111     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedUseCases"))));
1112     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("powertypeExtents"))));
1113     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("redefinedClassifiers"))));
1114     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("representation"))));
1115     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("substitutions"))));
1116     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("templateParameter"))));
1117     d->groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("useCases"))));
1118
1119     d->propertyGroups << QStringLiteral("QUmlRelationship");
1120     d->groupProperties.insert(QStringLiteral("QUmlRelationship"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("relatedElements"))));
1121
1122     d->propertyGroups << QStringLiteral("QUmlAssociation");
1123     d->groupProperties.insert(QStringLiteral("QUmlAssociation"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("endTypes"))));
1124     d->groupProperties.insert(QStringLiteral("QUmlAssociation"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isDerived"))));
1125     d->groupProperties.insert(QStringLiteral("QUmlAssociation"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("memberEnds"))));
1126     d->groupProperties.insert(QStringLiteral("QUmlAssociation"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("navigableOwnedEnds"))));
1127
1128     d->propertyGroups << QStringLiteral("QUmlExtension");
1129     d->groupProperties.insert(QStringLiteral("QUmlExtension"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isRequired"))));
1130     d->groupProperties.insert(QStringLiteral("QUmlExtension"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("metaclass"))));
1131     d->groupProperties.insert(QStringLiteral("QUmlExtension"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedEnd"))));
1132 }
1133
1134 void QUmlExtensionObject::setPropertyData()
1135 {
1136     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, AggregationRole, QStringLiteral("composite"));
1137     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, PropertyClassRole, QStringLiteral("QUmlElement"));
1138     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, IsDerivedRole, false);
1139     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, IsDerivedUnionRole, false);
1140     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, DocumentationRole, QStringLiteral("The Comments owned by this element."));
1141     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, RedefinedPropertiesRole, QStringLiteral(""));
1142     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
1143     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, OppositeEndRole, QStringLiteral(""));
1144
1145     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, AggregationRole, QStringLiteral("composite"));
1146     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, PropertyClassRole, QStringLiteral("QUmlElement"));
1147     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, IsDerivedRole, true);
1148     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, IsDerivedUnionRole, true);
1149     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, DocumentationRole, QStringLiteral("The Elements owned by this element."));
1150     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, RedefinedPropertiesRole, QStringLiteral(""));
1151     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, SubsettedPropertiesRole, QStringLiteral(""));
1152     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, OppositeEndRole, QStringLiteral("Element-owner"));
1153
1154     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, AggregationRole, QStringLiteral("none"));
1155     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, PropertyClassRole, QStringLiteral("QUmlElement"));
1156     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, IsDerivedRole, true);
1157     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, IsDerivedUnionRole, true);
1158     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, DocumentationRole, QStringLiteral("The Element that owns this element."));
1159     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, RedefinedPropertiesRole, QStringLiteral(""));
1160     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, SubsettedPropertiesRole, QStringLiteral(""));
1161     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, OppositeEndRole, QStringLiteral("Element-ownedElement"));
1162
1163     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, AggregationRole, QStringLiteral("none"));
1164     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
1165     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, IsDerivedRole, false);
1166     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, IsDerivedUnionRole, false);
1167     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, DocumentationRole, QStringLiteral("Indicates the dependencies that reference the client."));
1168     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, RedefinedPropertiesRole, QStringLiteral(""));
1169     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, SubsettedPropertiesRole, QStringLiteral("A_source_directedRelationship-directedRelationship"));
1170     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, OppositeEndRole, QStringLiteral("Dependency-client"));
1171
1172     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, AggregationRole, QStringLiteral("none"));
1173     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
1174     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, IsDerivedRole, false);
1175     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, IsDerivedUnionRole, false);
1176     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, DocumentationRole, QStringLiteral("The name of the NamedElement."));
1177     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, RedefinedPropertiesRole, QStringLiteral(""));
1178     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, SubsettedPropertiesRole, QStringLiteral(""));
1179     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, OppositeEndRole, QStringLiteral(""));
1180
1181     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, AggregationRole, QStringLiteral("composite"));
1182     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
1183     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, IsDerivedRole, false);
1184     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, IsDerivedUnionRole, false);
1185     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, DocumentationRole, QStringLiteral("The string expression used to define the name of this named element."));
1186     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, RedefinedPropertiesRole, QStringLiteral(""));
1187     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
1188     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, OppositeEndRole, QStringLiteral(""));
1189
1190     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, AggregationRole, QStringLiteral("none"));
1191     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
1192     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, IsDerivedRole, true);
1193     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, IsDerivedUnionRole, true);
1194     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, DocumentationRole, QStringLiteral("Specifies the namespace that owns the NamedElement."));
1195     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, RedefinedPropertiesRole, QStringLiteral(""));
1196     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, SubsettedPropertiesRole, QStringLiteral("A_member_memberNamespace-memberNamespace Element-owner"));
1197     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, OppositeEndRole, QStringLiteral("Namespace-ownedMember"));
1198
1199     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, AggregationRole, QStringLiteral("none"));
1200     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
1201     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, IsDerivedRole, true);
1202     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, IsDerivedUnionRole, false);
1203     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, DocumentationRole, QStringLiteral("A name which allows the NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from the names of the containing namespaces starting at the root of the hierarchy and ending with the name of the NamedElement itself."));
1204     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, RedefinedPropertiesRole, QStringLiteral(""));
1205     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, SubsettedPropertiesRole, QStringLiteral(""));
1206     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, OppositeEndRole, QStringLiteral(""));
1207
1208     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, AggregationRole, QStringLiteral("none"));
1209     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
1210     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, IsDerivedRole, false);
1211     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, IsDerivedUnionRole, false);
1212     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, DocumentationRole, QStringLiteral("Determines where the NamedElement appears within different Namespaces within the overall model, and its accessibility."));
1213     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, RedefinedPropertiesRole, QStringLiteral(""));
1214     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, SubsettedPropertiesRole, QStringLiteral(""));
1215     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, OppositeEndRole, QStringLiteral(""));
1216
1217     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, AggregationRole, QStringLiteral("composite"));
1218     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, PropertyClassRole, QStringLiteral("QUmlNamespace"));
1219     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, IsDerivedRole, false);
1220     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, IsDerivedUnionRole, false);
1221     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, DocumentationRole, QStringLiteral("References the ElementImports owned by the Namespace."));
1222     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, RedefinedPropertiesRole, QStringLiteral(""));
1223     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, SubsettedPropertiesRole, QStringLiteral("A_source_directedRelationship-directedRelationship Element-ownedElement"));
1224     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, OppositeEndRole, QStringLiteral("ElementImport-importingNamespace"));
1225
1226     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, AggregationRole, QStringLiteral("none"));
1227     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, PropertyClassRole, QStringLiteral("QUmlNamespace"));
1228     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, IsDerivedRole, true);
1229     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, IsDerivedUnionRole, false);
1230     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, DocumentationRole, QStringLiteral("References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports."));
1231     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, RedefinedPropertiesRole, QStringLiteral(""));
1232     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, SubsettedPropertiesRole, QStringLiteral("Namespace-member"));
1233     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, OppositeEndRole, QStringLiteral(""));
1234
1235     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, AggregationRole, QStringLiteral("none"));
1236     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, PropertyClassRole, QStringLiteral("QUmlNamespace"));
1237     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, IsDerivedRole, true);
1238     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, IsDerivedUnionRole, true);
1239     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, DocumentationRole, QStringLiteral("A collection of NamedElements identifiable within the Namespace, either by being owned or by being introduced by importing or inheritance."));
1240     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, RedefinedPropertiesRole, QStringLiteral(""));
1241     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, SubsettedPropertiesRole, QStringLiteral(""));
1242     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, OppositeEndRole, QStringLiteral(""));
1243
1244     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, AggregationRole, QStringLiteral("composite"));
1245     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, PropertyClassRole, QStringLiteral("QUmlNamespace"));
1246     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, IsDerivedRole, true);
1247     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, IsDerivedUnionRole, true);
1248     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, DocumentationRole, QStringLiteral("A collection of NamedElements owned by the Namespace."));
1249     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, RedefinedPropertiesRole, QStringLiteral(""));
1250     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, SubsettedPropertiesRole, QStringLiteral("Namespace-member Element-ownedElement"));
1251     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, OppositeEndRole, QStringLiteral("NamedElement-namespace"));
1252
1253     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, AggregationRole, QStringLiteral("composite"));
1254     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, PropertyClassRole, QStringLiteral("QUmlNamespace"));
1255     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, IsDerivedRole, false);
1256     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, IsDerivedUnionRole, false);
1257     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, DocumentationRole, QStringLiteral("Specifies a set of Constraints owned by this Namespace."));
1258     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, RedefinedPropertiesRole, QStringLiteral(""));
1259     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, SubsettedPropertiesRole, QStringLiteral("Namespace-ownedMember"));
1260     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, OppositeEndRole, QStringLiteral("Constraint-context"));
1261
1262     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, AggregationRole, QStringLiteral("composite"));
1263     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, PropertyClassRole, QStringLiteral("QUmlNamespace"));
1264     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, IsDerivedRole, false);
1265     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, IsDerivedUnionRole, false);
1266     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, DocumentationRole, QStringLiteral("References the PackageImports owned by the Namespace."));
1267     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, RedefinedPropertiesRole, QStringLiteral(""));
1268     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, SubsettedPropertiesRole, QStringLiteral("A_source_directedRelationship-directedRelationship Element-ownedElement"));
1269     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, OppositeEndRole, QStringLiteral("PackageImport-importingNamespace"));
1270
1271     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, AggregationRole, QStringLiteral("none"));
1272     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, PropertyClassRole, QStringLiteral("QUmlParameterableElement"));
1273     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, IsDerivedRole, false);
1274     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, IsDerivedUnionRole, false);
1275     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, DocumentationRole, QStringLiteral("The formal template parameter that owns this element."));
1276     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, RedefinedPropertiesRole, QStringLiteral(""));
1277     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, SubsettedPropertiesRole, QStringLiteral("ParameterableElement-templateParameter Element-owner"));
1278     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, OppositeEndRole, QStringLiteral("TemplateParameter-ownedParameteredElement"));
1279
1280     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, AggregationRole, QStringLiteral("none"));
1281     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, PropertyClassRole, QStringLiteral("QUmlParameterableElement"));
1282     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, IsDerivedRole, false);
1283     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, IsDerivedUnionRole, false);
1284     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, DocumentationRole, QStringLiteral("The template parameter that exposes this element as a formal parameter."));
1285     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, RedefinedPropertiesRole, QStringLiteral(""));
1286     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, SubsettedPropertiesRole, QStringLiteral(""));
1287     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, OppositeEndRole, QStringLiteral("TemplateParameter-parameteredElement"));
1288
1289     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, AggregationRole, QStringLiteral("none"));
1290     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, PropertyClassRole, QStringLiteral("QUmlPackageableElement"));
1291     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, IsDerivedRole, false);
1292     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, IsDerivedUnionRole, false);
1293     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, DocumentationRole, QStringLiteral("Indicates that packageable elements must always have a visibility, i.e., visibility is not optional."));
1294     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, RedefinedPropertiesRole, QStringLiteral("NamedElement-visibility"));
1295     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, SubsettedPropertiesRole, QStringLiteral(""));
1296     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, OppositeEndRole, QStringLiteral(""));
1297
1298     Q_DECLARE_METAPROPERTY_INFO(QUmlType, package, AggregationRole, QStringLiteral("none"));
1299     Q_DECLARE_METAPROPERTY_INFO(QUmlType, package, PropertyClassRole, QStringLiteral("QUmlType"));
1300     Q_DECLARE_METAPROPERTY_INFO(QUmlType, package, IsDerivedRole, false);
1301     Q_DECLARE_METAPROPERTY_INFO(QUmlType, package, IsDerivedUnionRole, false);
1302     Q_DECLARE_METAPROPERTY_INFO(QUmlType, package, DocumentationRole, QStringLiteral("Specifies the owning package of this classifier, if any."));
1303     Q_DECLARE_METAPROPERTY_INFO(QUmlType, package, RedefinedPropertiesRole, QStringLiteral(""));
1304     Q_DECLARE_METAPROPERTY_INFO(QUmlType, package, SubsettedPropertiesRole, QStringLiteral("A_packagedElement_owningPackage-owningPackage"));
1305     Q_DECLARE_METAPROPERTY_INFO(QUmlType, package, OppositeEndRole, QStringLiteral("Package-ownedType"));
1306
1307     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, AggregationRole, QStringLiteral("none"));
1308     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, PropertyClassRole, QStringLiteral("QUmlRedefinableElement"));
1309     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, IsDerivedRole, false);
1310     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, IsDerivedUnionRole, false);
1311     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, DocumentationRole, QStringLiteral("Indicates whether it is possible to further redefine a RedefinableElement. If the value is true, then it is not possible to further redefine the RedefinableElement. Note that this property is preserved through package merge operations; that is, the capability to redefine a RedefinableElement (i.e., isLeaf=false) must be preserved in the resulting RedefinableElement of a package merge operation where a RedefinableElement with isLeaf=false is merged with a matching RedefinableElement with isLeaf=true: the resulting RedefinableElement will have isLeaf=false. Default value is false."));
1312     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, RedefinedPropertiesRole, QStringLiteral(""));
1313     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, SubsettedPropertiesRole, QStringLiteral(""));
1314     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, OppositeEndRole, QStringLiteral(""));
1315
1316     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, AggregationRole, QStringLiteral("none"));
1317     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, PropertyClassRole, QStringLiteral("QUmlRedefinableElement"));
1318     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, IsDerivedRole, true);
1319     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, IsDerivedUnionRole, true);
1320     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, DocumentationRole, QStringLiteral("The redefinable element that is being redefined by this element."));
1321     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, RedefinedPropertiesRole, QStringLiteral(""));
1322     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, SubsettedPropertiesRole, QStringLiteral(""));
1323     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, OppositeEndRole, QStringLiteral(""));
1324
1325     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, AggregationRole, QStringLiteral("none"));
1326     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, PropertyClassRole, QStringLiteral("QUmlRedefinableElement"));
1327     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, IsDerivedRole, true);
1328     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, IsDerivedUnionRole, true);
1329     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, DocumentationRole, QStringLiteral("References the contexts that this element may be redefined from."));
1330     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, RedefinedPropertiesRole, QStringLiteral(""));
1331     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, SubsettedPropertiesRole, QStringLiteral(""));
1332     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, OppositeEndRole, QStringLiteral(""));
1333
1334     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, ownedTemplateSignature, AggregationRole, QStringLiteral("composite"));
1335     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, ownedTemplateSignature, PropertyClassRole, QStringLiteral("QUmlTemplateableElement"));
1336     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, ownedTemplateSignature, IsDerivedRole, false);
1337     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, ownedTemplateSignature, IsDerivedUnionRole, false);
1338     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, ownedTemplateSignature, DocumentationRole, QStringLiteral("The optional template signature specifying the formal template parameters."));
1339     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, ownedTemplateSignature, RedefinedPropertiesRole, QStringLiteral(""));
1340     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, ownedTemplateSignature, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
1341     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, ownedTemplateSignature, OppositeEndRole, QStringLiteral("TemplateSignature-template"));
1342
1343     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, templateBindings, AggregationRole, QStringLiteral("composite"));
1344     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, templateBindings, PropertyClassRole, QStringLiteral("QUmlTemplateableElement"));
1345     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, templateBindings, IsDerivedRole, false);
1346     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, templateBindings, IsDerivedUnionRole, false);
1347     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, templateBindings, DocumentationRole, QStringLiteral("The optional bindings from this element to templates."));
1348     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, templateBindings, RedefinedPropertiesRole, QStringLiteral(""));
1349     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, templateBindings, SubsettedPropertiesRole, QStringLiteral("A_source_directedRelationship-directedRelationship Element-ownedElement"));
1350     Q_DECLARE_METAPROPERTY_INFO(QUmlTemplateableElement, templateBindings, OppositeEndRole, QStringLiteral("TemplateBinding-boundElement"));
1351
1352     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, attributes, AggregationRole, QStringLiteral("none"));
1353     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, attributes, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1354     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, attributes, IsDerivedRole, true);
1355     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, attributes, IsDerivedUnionRole, true);
1356     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, attributes, DocumentationRole, QStringLiteral("Refers to all of the Properties that are direct (i.e. not inherited or imported) attributes of the classifier."));
1357     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, attributes, RedefinedPropertiesRole, QStringLiteral(""));
1358     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, attributes, SubsettedPropertiesRole, QStringLiteral("Classifier-feature A_redefinitionContext_redefinableElement-redefinableElement"));
1359     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, attributes, OppositeEndRole, QStringLiteral(""));
1360
1361     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, collaborationUses, AggregationRole, QStringLiteral("composite"));
1362     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, collaborationUses, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1363     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, collaborationUses, IsDerivedRole, false);
1364     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, collaborationUses, IsDerivedUnionRole, false);
1365     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, collaborationUses, DocumentationRole, QStringLiteral("References the collaboration uses owned by the classifier."));
1366     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, collaborationUses, RedefinedPropertiesRole, QStringLiteral(""));
1367     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, collaborationUses, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
1368     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, collaborationUses, OppositeEndRole, QStringLiteral(""));
1369
1370     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, features, AggregationRole, QStringLiteral("none"));
1371     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, features, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1372     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, features, IsDerivedRole, true);
1373     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, features, IsDerivedUnionRole, true);
1374     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, features, DocumentationRole, QStringLiteral("Specifies each feature defined in the classifier.Note that there may be members of the Classifier that are of the type Feature but are not included in this association, e.g. inherited features."));
1375     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, features, RedefinedPropertiesRole, QStringLiteral(""));
1376     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, features, SubsettedPropertiesRole, QStringLiteral("Namespace-member"));
1377     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, features, OppositeEndRole, QStringLiteral("Feature-featuringClassifier"));
1378
1379     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generals, AggregationRole, QStringLiteral("none"));
1380     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generals, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1381     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generals, IsDerivedRole, true);
1382     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generals, IsDerivedUnionRole, false);
1383     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generals, DocumentationRole, QStringLiteral("Specifies the general Classifiers for this Classifier.References the general classifier in the Generalization relationship."));
1384     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generals, RedefinedPropertiesRole, QStringLiteral(""));
1385     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generals, SubsettedPropertiesRole, QStringLiteral(""));
1386     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generals, OppositeEndRole, QStringLiteral(""));
1387
1388     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generalizations, AggregationRole, QStringLiteral("composite"));
1389     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generalizations, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1390     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generalizations, IsDerivedRole, false);
1391     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generalizations, IsDerivedUnionRole, false);
1392     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generalizations, DocumentationRole, QStringLiteral("Specifies the Generalization relationships for this Classifier. These Generalizations navigaten to more general classifiers in the generalization hierarchy."));
1393     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generalizations, RedefinedPropertiesRole, QStringLiteral(""));
1394     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generalizations, SubsettedPropertiesRole, QStringLiteral("A_source_directedRelationship-directedRelationship Element-ownedElement"));
1395     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, generalizations, OppositeEndRole, QStringLiteral("Generalization-specific"));
1396
1397     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, inheritedMembers, AggregationRole, QStringLiteral("none"));
1398     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, inheritedMembers, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1399     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, inheritedMembers, IsDerivedRole, true);
1400     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, inheritedMembers, IsDerivedUnionRole, false);
1401     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, inheritedMembers, DocumentationRole, QStringLiteral("Specifies all elements inherited by this classifier from the general classifiers."));
1402     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, inheritedMembers, RedefinedPropertiesRole, QStringLiteral(""));
1403     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, inheritedMembers, SubsettedPropertiesRole, QStringLiteral("Namespace-member"));
1404     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, inheritedMembers, OppositeEndRole, QStringLiteral(""));
1405
1406     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isAbstract, AggregationRole, QStringLiteral("none"));
1407     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isAbstract, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1408     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isAbstract, IsDerivedRole, false);
1409     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isAbstract, IsDerivedUnionRole, false);
1410     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isAbstract, DocumentationRole, QStringLiteral("If true, the Classifier does not provide a complete declaration and can typically not be instantiated. An abstract classifier is intended to be used by other classifiers e.g. as the target of general metarelationships or generalization relationships."));
1411     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isAbstract, RedefinedPropertiesRole, QStringLiteral(""));
1412     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isAbstract, SubsettedPropertiesRole, QStringLiteral(""));
1413     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isAbstract, OppositeEndRole, QStringLiteral(""));
1414
1415     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isFinalSpecialization, AggregationRole, QStringLiteral("none"));
1416     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isFinalSpecialization, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1417     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isFinalSpecialization, IsDerivedRole, false);
1418     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isFinalSpecialization, IsDerivedUnionRole, false);
1419     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isFinalSpecialization, DocumentationRole, QStringLiteral("If true, the Classifier cannot be specialized by generalization. Note that this property is preserved through package merge operations; that is, the capability to specialize a Classifier (i.e., isFinalSpecialization =false) must be preserved in the resulting Classifier of a package merge operation where a Classifier with isFinalSpecialization =false is merged with a matching Classifier with isFinalSpecialization =true: the resulting Classifier will have isFinalSpecialization =false."));
1420     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isFinalSpecialization, RedefinedPropertiesRole, QStringLiteral(""));
1421     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isFinalSpecialization, SubsettedPropertiesRole, QStringLiteral(""));
1422     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, isFinalSpecialization, OppositeEndRole, QStringLiteral(""));
1423
1424     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedTemplateSignature, AggregationRole, QStringLiteral("composite"));
1425     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedTemplateSignature, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1426     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedTemplateSignature, IsDerivedRole, false);
1427     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedTemplateSignature, IsDerivedUnionRole, false);
1428     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedTemplateSignature, DocumentationRole, QStringLiteral("The optional template signature specifying the formal template parameters."));
1429     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedTemplateSignature, RedefinedPropertiesRole, QStringLiteral("TemplateableElement-ownedTemplateSignature"));
1430     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedTemplateSignature, SubsettedPropertiesRole, QStringLiteral("A_redefinitionContext_redefinableElement-redefinableElement"));
1431     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedTemplateSignature, OppositeEndRole, QStringLiteral("RedefinableTemplateSignature-classifier"));
1432
1433     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedUseCases, AggregationRole, QStringLiteral("composite"));
1434     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedUseCases, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1435     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedUseCases, IsDerivedRole, false);
1436     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedUseCases, IsDerivedUnionRole, false);
1437     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedUseCases, DocumentationRole, QStringLiteral("References the use cases owned by this classifier."));
1438     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedUseCases, RedefinedPropertiesRole, QStringLiteral(""));
1439     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedUseCases, SubsettedPropertiesRole, QStringLiteral("Namespace-ownedMember"));
1440     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, ownedUseCases, OppositeEndRole, QStringLiteral(""));
1441
1442     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, powertypeExtents, AggregationRole, QStringLiteral("none"));
1443     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, powertypeExtents, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1444     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, powertypeExtents, IsDerivedRole, false);
1445     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, powertypeExtents, IsDerivedUnionRole, false);
1446     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, powertypeExtents, DocumentationRole, QStringLiteral("Designates the GeneralizationSet of which the associated Classifier is a power type."));
1447     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, powertypeExtents, RedefinedPropertiesRole, QStringLiteral(""));
1448     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, powertypeExtents, SubsettedPropertiesRole, QStringLiteral(""));
1449     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, powertypeExtents, OppositeEndRole, QStringLiteral("GeneralizationSet-powertype"));
1450
1451     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, redefinedClassifiers, AggregationRole, QStringLiteral("none"));
1452     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, redefinedClassifiers, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1453     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, redefinedClassifiers, IsDerivedRole, false);
1454     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, redefinedClassifiers, IsDerivedUnionRole, false);
1455     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, redefinedClassifiers, DocumentationRole, QStringLiteral("References the Classifiers that are redefined by this Classifier."));
1456     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, redefinedClassifiers, RedefinedPropertiesRole, QStringLiteral(""));
1457     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, redefinedClassifiers, SubsettedPropertiesRole, QStringLiteral("RedefinableElement-redefinedElement"));
1458     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, redefinedClassifiers, OppositeEndRole, QStringLiteral(""));
1459
1460     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, representation, AggregationRole, QStringLiteral("none"));
1461     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, representation, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1462     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, representation, IsDerivedRole, false);
1463     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, representation, IsDerivedUnionRole, false);
1464     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, representation, DocumentationRole, QStringLiteral("References a collaboration use which indicates the collaboration that represents this classifier."));
1465     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, representation, RedefinedPropertiesRole, QStringLiteral(""));
1466     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, representation, SubsettedPropertiesRole, QStringLiteral("Classifier-collaborationUse"));
1467     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, representation, OppositeEndRole, QStringLiteral(""));
1468
1469     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, substitutions, AggregationRole, QStringLiteral("composite"));
1470     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, substitutions, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1471     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, substitutions, IsDerivedRole, false);
1472     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, substitutions, IsDerivedUnionRole, false);
1473     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, substitutions, DocumentationRole, QStringLiteral("References the substitutions that are owned by this Classifier."));
1474     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, substitutions, RedefinedPropertiesRole, QStringLiteral(""));
1475     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, substitutions, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement NamedElement-clientDependency"));
1476     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, substitutions, OppositeEndRole, QStringLiteral("Substitution-substitutingClassifier"));
1477
1478     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, templateParameter, AggregationRole, QStringLiteral("none"));
1479     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, templateParameter, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1480     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, templateParameter, IsDerivedRole, false);
1481     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, templateParameter, IsDerivedUnionRole, false);
1482     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, templateParameter, DocumentationRole, QStringLiteral("The template parameter that exposes this element as a formal parameter."));
1483     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, templateParameter, RedefinedPropertiesRole, QStringLiteral("ParameterableElement-templateParameter"));
1484     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, templateParameter, SubsettedPropertiesRole, QStringLiteral(""));
1485     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, templateParameter, OppositeEndRole, QStringLiteral("ClassifierTemplateParameter-parameteredElement"));
1486
1487     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, useCases, AggregationRole, QStringLiteral("none"));
1488     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, useCases, PropertyClassRole, QStringLiteral("QUmlClassifier"));
1489     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, useCases, IsDerivedRole, false);
1490     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, useCases, IsDerivedUnionRole, false);
1491     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, useCases, DocumentationRole, QStringLiteral("The set of use cases for which this Classifier is the subject."));
1492     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, useCases, RedefinedPropertiesRole, QStringLiteral(""));
1493     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, useCases, SubsettedPropertiesRole, QStringLiteral(""));
1494     Q_DECLARE_METAPROPERTY_INFO(QUmlClassifier, useCases, OppositeEndRole, QStringLiteral("UseCase-subject"));
1495
1496     Q_DECLARE_METAPROPERTY_INFO(QUmlRelationship, relatedElements, AggregationRole, QStringLiteral("none"));
1497     Q_DECLARE_METAPROPERTY_INFO(QUmlRelationship, relatedElements, PropertyClassRole, QStringLiteral("QUmlRelationship"));
1498     Q_DECLARE_METAPROPERTY_INFO(QUmlRelationship, relatedElements, IsDerivedRole, true);
1499     Q_DECLARE_METAPROPERTY_INFO(QUmlRelationship, relatedElements, IsDerivedUnionRole, true);
1500     Q_DECLARE_METAPROPERTY_INFO(QUmlRelationship, relatedElements, DocumentationRole, QStringLiteral("Specifies the elements related by the Relationship."));
1501     Q_DECLARE_METAPROPERTY_INFO(QUmlRelationship, relatedElements, RedefinedPropertiesRole, QStringLiteral(""));
1502     Q_DECLARE_METAPROPERTY_INFO(QUmlRelationship, relatedElements, SubsettedPropertiesRole, QStringLiteral(""));
1503     Q_DECLARE_METAPROPERTY_INFO(QUmlRelationship, relatedElements, OppositeEndRole, QStringLiteral(""));
1504
1505     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, endTypes, AggregationRole, QStringLiteral("none"));
1506     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, endTypes, PropertyClassRole, QStringLiteral("QUmlAssociation"));
1507     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, endTypes, IsDerivedRole, true);
1508     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, endTypes, IsDerivedUnionRole, false);
1509     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, endTypes, DocumentationRole, QStringLiteral("References the classifiers that are used as types of the ends of the association."));
1510     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, endTypes, RedefinedPropertiesRole, QStringLiteral(""));
1511     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, endTypes, SubsettedPropertiesRole, QStringLiteral("Relationship-relatedElement"));
1512     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, endTypes, OppositeEndRole, QStringLiteral(""));
1513
1514     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, isDerived, AggregationRole, QStringLiteral("none"));
1515     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, isDerived, PropertyClassRole, QStringLiteral("QUmlAssociation"));
1516     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, isDerived, IsDerivedRole, false);
1517     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, isDerived, IsDerivedUnionRole, false);
1518     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, isDerived, DocumentationRole, QStringLiteral("Specifies whether the association is derived from other model elements such as other associations or constraints."));
1519     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, isDerived, RedefinedPropertiesRole, QStringLiteral(""));
1520     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, isDerived, SubsettedPropertiesRole, QStringLiteral(""));
1521     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, isDerived, OppositeEndRole, QStringLiteral(""));
1522
1523     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, memberEnds, AggregationRole, QStringLiteral("none"));
1524     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, memberEnds, PropertyClassRole, QStringLiteral("QUmlAssociation"));
1525     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, memberEnds, IsDerivedRole, false);
1526     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, memberEnds, IsDerivedUnionRole, false);
1527     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, memberEnds, DocumentationRole, QStringLiteral("Each end represents participation of instances of the classifier connected to the end in links of the association."));
1528     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, memberEnds, RedefinedPropertiesRole, QStringLiteral(""));
1529     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, memberEnds, SubsettedPropertiesRole, QStringLiteral("Namespace-member"));
1530     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, memberEnds, OppositeEndRole, QStringLiteral("Property-association"));
1531
1532     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, navigableOwnedEnds, AggregationRole, QStringLiteral("none"));
1533     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, navigableOwnedEnds, PropertyClassRole, QStringLiteral("QUmlAssociation"));
1534     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, navigableOwnedEnds, IsDerivedRole, false);
1535     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, navigableOwnedEnds, IsDerivedUnionRole, false);
1536     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, navigableOwnedEnds, DocumentationRole, QStringLiteral("The navigable ends that are owned by the association itself."));
1537     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, navigableOwnedEnds, RedefinedPropertiesRole, QStringLiteral(""));
1538     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, navigableOwnedEnds, SubsettedPropertiesRole, QStringLiteral("Association-ownedEnd"));
1539     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, navigableOwnedEnds, OppositeEndRole, QStringLiteral(""));
1540
1541     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, ownedEnds, AggregationRole, QStringLiteral("composite"));
1542     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, ownedEnds, PropertyClassRole, QStringLiteral("QUmlAssociation"));
1543     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, ownedEnds, IsDerivedRole, false);
1544     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, ownedEnds, IsDerivedUnionRole, false);
1545     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, ownedEnds, DocumentationRole, QStringLiteral("The ends that are owned by the association itself."));
1546     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, ownedEnds, RedefinedPropertiesRole, QStringLiteral(""));
1547     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, ownedEnds, SubsettedPropertiesRole, QStringLiteral("Association-memberEnd Classifier-feature A_redefinitionContext_redefinableElement-redefinableElement Namespace-ownedMember"));
1548     Q_DECLARE_METAPROPERTY_INFO(QUmlAssociation, ownedEnds, OppositeEndRole, QStringLiteral("Property-owningAssociation"));
1549
1550     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, isRequired, AggregationRole, QStringLiteral("none"));
1551     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, isRequired, PropertyClassRole, QStringLiteral("QUmlExtension"));
1552     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, isRequired, IsDerivedRole, true);
1553     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, isRequired, IsDerivedUnionRole, false);
1554     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, isRequired, DocumentationRole, QStringLiteral("Indicates whether an instance of the extending stereotype must be created when an instance of the extended class is created. The attribute value is derived from the value of the lower property of the ExtensionEnd referenced by Extension::ownedEnd; a lower value of 1 means that isRequired is true, but otherwise it is false. Since the default value of ExtensionEnd::lower is 0, the default value of isRequired is false."));
1555     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, isRequired, RedefinedPropertiesRole, QStringLiteral(""));
1556     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, isRequired, SubsettedPropertiesRole, QStringLiteral(""));
1557     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, isRequired, OppositeEndRole, QStringLiteral(""));
1558
1559     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, metaclass, AggregationRole, QStringLiteral("none"));
1560     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, metaclass, PropertyClassRole, QStringLiteral("QUmlExtension"));
1561     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, metaclass, IsDerivedRole, true);
1562     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, metaclass, IsDerivedUnionRole, false);
1563     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, metaclass, DocumentationRole, QStringLiteral("References the Class that is extended through an Extension. The property is derived from the type of the memberEnd that is not the ownedEnd."));
1564     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, metaclass, RedefinedPropertiesRole, QStringLiteral(""));
1565     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, metaclass, SubsettedPropertiesRole, QStringLiteral(""));
1566     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, metaclass, OppositeEndRole, QStringLiteral("Class-extension"));
1567
1568     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, ownedEnd, AggregationRole, QStringLiteral("composite"));
1569     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, ownedEnd, PropertyClassRole, QStringLiteral("QUmlExtension"));
1570     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, ownedEnd, IsDerivedRole, false);
1571     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, ownedEnd, IsDerivedUnionRole, false);
1572     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, ownedEnd, DocumentationRole, QStringLiteral("References the end of the extension that is typed by a Stereotype."));
1573     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, ownedEnd, RedefinedPropertiesRole, QStringLiteral("Association-ownedEnd"));
1574     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, ownedEnd, SubsettedPropertiesRole, QStringLiteral(""));
1575     Q_DECLARE_METAPROPERTY_INFO(QUmlExtension, ownedEnd, OppositeEndRole, QStringLiteral(""));
1576
1577 }
1578
1579 QT_END_NAMESPACE
1580