Fix reset of properties with default value
[qt:qtmodeling.git] / src / uml / qobjects / qumlparameterobject.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 "qumlparameterobject_p.h"
42 #include "private/qmodelingobject_p.h"
43
44 #include <QtUml/QUmlParameter>
45 #include <QtUml/QUmlComment>
46 #include <QtUml/QUmlConnectableElementTemplateParameter>
47 #include <QtUml/QUmlConnectorEnd>
48 #include <QtUml/QUmlDependency>
49 #include <QtUml/QUmlElement>
50 #include <QtUml/QUmlMultiplicityElement>
51 #include <QtUml/QUmlNamedElement>
52 #include <QtUml/QUmlNamespace>
53 #include <QtUml/QUmlOperation>
54 #include <QtUml/QUmlPackage>
55 #include <QtUml/QUmlParameterableElement>
56 #include <QtUml/QUmlParameterSet>
57 #include <QtUml/QUmlStringExpression>
58 #include <QtUml/QUmlTemplateParameter>
59 #include <QtUml/QUmlType>
60 #include <QtUml/QUmlValueSpecification>
61
62 QT_BEGIN_NAMESPACE
63
64 QUmlParameterObject::QUmlParameterObject(QUmlParameter *modelingElement)
65 {
66     setProperty("modelingElement", QVariant::fromValue(static_cast<QModelingElement *>(modelingElement)));
67     setGroupProperties();
68     setPropertyData();
69 }
70
71 // OWNED ATTRIBUTES [Element]
72
73 const QSet<QObject *> QUmlParameterObject::ownedComments() const
74 {
75     QSet<QObject *> set;
76     foreach (QUmlComment *element, qmodelingelementproperty_cast<QUmlParameter *>(this)->ownedComments())
77         set.insert(element->asQModelingObject());
78     return set;
79 }
80
81 const QSet<QObject *> QUmlParameterObject::ownedElements() const
82 {
83     QSet<QObject *> set;
84     foreach (QUmlElement *element, qmodelingelementproperty_cast<QUmlParameter *>(this)->ownedElements())
85         set.insert(element->asQModelingObject());
86     return set;
87 }
88
89 QObject *QUmlParameterObject::owner() const
90 {
91     if (!qmodelingelementproperty_cast<QUmlParameter *>(this)->owner())
92         return 0;
93     else
94         return qmodelingelementproperty_cast<QUmlParameter *>(this)->owner()->asQModelingObject();
95 }
96
97 // OWNED ATTRIBUTES [MultiplicityElement]
98
99 bool QUmlParameterObject::isOrdered() const
100 {
101     return qmodelingelementproperty_cast<QUmlParameter *>(this)->isOrdered();
102 }
103
104 bool QUmlParameterObject::isUnique() const
105 {
106     return qmodelingelementproperty_cast<QUmlParameter *>(this)->isUnique();
107 }
108
109 int QUmlParameterObject::lower() const
110 {
111     return qmodelingelementproperty_cast<QUmlParameter *>(this)->lower();
112 }
113
114 QObject *QUmlParameterObject::lowerValue() const
115 {
116     if (!qmodelingelementproperty_cast<QUmlParameter *>(this)->lowerValue())
117         return 0;
118     else
119         return qmodelingelementproperty_cast<QUmlParameter *>(this)->lowerValue()->asQModelingObject();
120 }
121
122 int QUmlParameterObject::upper() const
123 {
124     return qmodelingelementproperty_cast<QUmlParameter *>(this)->upper();
125 }
126
127 QObject *QUmlParameterObject::upperValue() const
128 {
129     if (!qmodelingelementproperty_cast<QUmlParameter *>(this)->upperValue())
130         return 0;
131     else
132         return qmodelingelementproperty_cast<QUmlParameter *>(this)->upperValue()->asQModelingObject();
133 }
134
135 // OWNED ATTRIBUTES [NamedElement]
136
137 const QSet<QObject *> QUmlParameterObject::clientDependencies() const
138 {
139     QSet<QObject *> set;
140     foreach (QUmlDependency *element, qmodelingelementproperty_cast<QUmlParameter *>(this)->clientDependencies())
141         set.insert(element->asQModelingObject());
142     return set;
143 }
144
145 QString QUmlParameterObject::name() const
146 {
147     return qmodelingelementproperty_cast<QUmlParameter *>(this)->name();
148 }
149
150 QObject *QUmlParameterObject::nameExpression() const
151 {
152     if (!qmodelingelementproperty_cast<QUmlParameter *>(this)->nameExpression())
153         return 0;
154     else
155         return qmodelingelementproperty_cast<QUmlParameter *>(this)->nameExpression()->asQModelingObject();
156 }
157
158 QObject *QUmlParameterObject::namespace_() const
159 {
160     if (!qmodelingelementproperty_cast<QUmlParameter *>(this)->namespace_())
161         return 0;
162     else
163         return qmodelingelementproperty_cast<QUmlParameter *>(this)->namespace_()->asQModelingObject();
164 }
165
166 QString QUmlParameterObject::qualifiedName() const
167 {
168     return qmodelingelementproperty_cast<QUmlParameter *>(this)->qualifiedName();
169 }
170
171 QtUml::VisibilityKind QUmlParameterObject::visibility() const
172 {
173     return qmodelingelementproperty_cast<QUmlParameter *>(this)->visibility();
174 }
175
176 // OWNED ATTRIBUTES [TypedElement]
177
178 QObject *QUmlParameterObject::type() const
179 {
180     if (!qmodelingelementproperty_cast<QUmlParameter *>(this)->type())
181         return 0;
182     else
183         return qmodelingelementproperty_cast<QUmlParameter *>(this)->type()->asQModelingObject();
184 }
185
186 // OWNED ATTRIBUTES [ParameterableElement]
187
188 QObject *QUmlParameterObject::owningTemplateParameter() const
189 {
190     if (!qmodelingelementproperty_cast<QUmlParameter *>(this)->owningTemplateParameter())
191         return 0;
192     else
193         return qmodelingelementproperty_cast<QUmlParameter *>(this)->owningTemplateParameter()->asQModelingObject();
194 }
195
196 // OWNED ATTRIBUTES [ConnectableElement]
197
198 const QList<QObject *> QUmlParameterObject::ends() const
199 {
200     QList<QObject *> list;
201     foreach (QUmlConnectorEnd *element, qmodelingelementproperty_cast<QUmlParameter *>(this)->ends())
202         list.append(element->asQModelingObject());
203     return list;
204 }
205
206 QObject *QUmlParameterObject::templateParameter() const
207 {
208     if (!qmodelingelementproperty_cast<QUmlParameter *>(this)->templateParameter())
209         return 0;
210     else
211         return qmodelingelementproperty_cast<QUmlParameter *>(this)->templateParameter()->asQModelingObject();
212 }
213
214 // OWNED ATTRIBUTES [Parameter]
215
216 QString QUmlParameterObject::default_() const
217 {
218     return qmodelingelementproperty_cast<QUmlParameter *>(this)->default_();
219 }
220
221 QObject *QUmlParameterObject::defaultValue() const
222 {
223     if (!qmodelingelementproperty_cast<QUmlParameter *>(this)->defaultValue())
224         return 0;
225     else
226         return qmodelingelementproperty_cast<QUmlParameter *>(this)->defaultValue()->asQModelingObject();
227 }
228
229 QtUml::ParameterDirectionKind QUmlParameterObject::direction() const
230 {
231     return qmodelingelementproperty_cast<QUmlParameter *>(this)->direction();
232 }
233
234 QtUml::ParameterEffectKind QUmlParameterObject::effect() const
235 {
236     return qmodelingelementproperty_cast<QUmlParameter *>(this)->effect();
237 }
238
239 bool QUmlParameterObject::isException() const
240 {
241     return qmodelingelementproperty_cast<QUmlParameter *>(this)->isException();
242 }
243
244 bool QUmlParameterObject::isStream() const
245 {
246     return qmodelingelementproperty_cast<QUmlParameter *>(this)->isStream();
247 }
248
249 QObject *QUmlParameterObject::operation() const
250 {
251     if (!qmodelingelementproperty_cast<QUmlParameter *>(this)->operation())
252         return 0;
253     else
254         return qmodelingelementproperty_cast<QUmlParameter *>(this)->operation()->asQModelingObject();
255 }
256
257 const QSet<QObject *> QUmlParameterObject::parameterSets() const
258 {
259     QSet<QObject *> set;
260     foreach (QUmlParameterSet *element, qmodelingelementproperty_cast<QUmlParameter *>(this)->parameterSets())
261         set.insert(element->asQModelingObject());
262     return set;
263 }
264
265 // OPERATIONS [Element]
266
267 QSet<QObject *> QUmlParameterObject::allOwnedElements() const
268 {
269     QSet<QObject *> set;
270     foreach (QUmlElement *element, qmodelingelementproperty_cast<QUmlParameter *>(this)->allOwnedElements())
271         set.insert(element->asQModelingObject());
272     return set;
273 }
274
275 bool QUmlParameterObject::mustBeOwned() const
276 {
277     return qmodelingelementproperty_cast<QUmlParameter *>(this)->mustBeOwned();
278 }
279
280 // OPERATIONS [MultiplicityElement]
281
282 bool QUmlParameterObject::compatibleWith(QObject *other) const
283 {
284     return qmodelingelementproperty_cast<QUmlParameter *>(this)->compatibleWith(qmodelingelementproperty_cast<QUmlMultiplicityElement *>(other));
285 }
286
287 bool QUmlParameterObject::includesCardinality(int C) const
288 {
289     return qmodelingelementproperty_cast<QUmlParameter *>(this)->includesCardinality(C);
290 }
291
292 bool QUmlParameterObject::includesMultiplicity(QObject *M) const
293 {
294     return qmodelingelementproperty_cast<QUmlParameter *>(this)->includesMultiplicity(qmodelingelementproperty_cast<QUmlMultiplicityElement *>(M));
295 }
296
297 bool QUmlParameterObject::is(int lowerbound, int upperbound) const
298 {
299     return qmodelingelementproperty_cast<QUmlParameter *>(this)->is(lowerbound, upperbound);
300 }
301
302 bool QUmlParameterObject::isMultivalued() const
303 {
304     return qmodelingelementproperty_cast<QUmlParameter *>(this)->isMultivalued();
305 }
306
307 int QUmlParameterObject::lowerBound() const
308 {
309     return qmodelingelementproperty_cast<QUmlParameter *>(this)->lowerBound();
310 }
311
312 //int QUmlParameterObject::upperBound() const
313 //{
314 //    return qmodelingelementproperty_cast<QUmlParameter *>(this)->upperBound();
315 //}
316
317 // OPERATIONS [NamedElement]
318
319 QList<QObject *> QUmlParameterObject::allNamespaces() const
320 {
321     QList<QObject *> set;
322     foreach (QUmlNamespace *element, qmodelingelementproperty_cast<QUmlParameter *>(this)->allNamespaces())
323         set.append(element->asQModelingObject());
324     return set;
325 }
326
327 QSet<QObject *> QUmlParameterObject::allOwningPackages() const
328 {
329     QSet<QObject *> set;
330     foreach (QUmlPackage *element, qmodelingelementproperty_cast<QUmlParameter *>(this)->allOwningPackages())
331         set.insert(element->asQModelingObject());
332     return set;
333 }
334
335 bool QUmlParameterObject::isDistinguishableFrom(QObject *n, QObject *ns) const
336 {
337     return qmodelingelementproperty_cast<QUmlParameter *>(this)->isDistinguishableFrom(qmodelingelementproperty_cast<QUmlNamedElement *>(n), qmodelingelementproperty_cast<QUmlNamespace *>(ns));
338 }
339
340 QString QUmlParameterObject::separator() const
341 {
342     return qmodelingelementproperty_cast<QUmlParameter *>(this)->separator();
343 }
344
345 // OPERATIONS [ParameterableElement]
346
347 bool QUmlParameterObject::isCompatibleWith(QObject *p) const
348 {
349     return qmodelingelementproperty_cast<QUmlParameter *>(this)->isCompatibleWith(qmodelingelementproperty_cast<QUmlParameterableElement *>(p));
350 }
351
352 bool QUmlParameterObject::isTemplateParameter() const
353 {
354     return qmodelingelementproperty_cast<QUmlParameter *>(this)->isTemplateParameter();
355 }
356
357 // SLOTS FOR OWNED ATTRIBUTES [Element]
358
359 void QUmlParameterObject::addOwnedComment(QObject *ownedComment)
360 {
361     qmodelingelementproperty_cast<QUmlParameter *>(this)->addOwnedComment(qmodelingelementproperty_cast<QUmlComment *>(ownedComment));
362 }
363
364 void QUmlParameterObject::removeOwnedComment(QObject *ownedComment)
365 {
366     qmodelingelementproperty_cast<QUmlParameter *>(this)->removeOwnedComment(qmodelingelementproperty_cast<QUmlComment *>(ownedComment));
367 }
368
369 void QUmlParameterObject::addOwnedElement(QObject *ownedElement)
370 {
371     qmodelingelementproperty_cast<QUmlParameter *>(this)->addOwnedElement(qmodelingelementproperty_cast<QUmlElement *>(ownedElement));
372 }
373
374 void QUmlParameterObject::removeOwnedElement(QObject *ownedElement)
375 {
376     qmodelingelementproperty_cast<QUmlParameter *>(this)->removeOwnedElement(qmodelingelementproperty_cast<QUmlElement *>(ownedElement));
377 }
378
379 void QUmlParameterObject::setOwner(QObject *owner)
380 {
381     qmodelingelementproperty_cast<QUmlParameter *>(this)->setOwner(qmodelingelementproperty_cast<QUmlElement *>(owner));
382 }
383
384 // SLOTS FOR OWNED ATTRIBUTES [MultiplicityElement]
385
386 void QUmlParameterObject::setOrdered(bool isOrdered)
387 {
388     qmodelingelementproperty_cast<QUmlParameter *>(this)->setOrdered(isOrdered);
389 }
390
391 void QUmlParameterObject::unsetOrdered()
392 {
393     Q_D(QModelingObject);
394     setOrdered(false);
395     d->modifiedResettableProperties.removeAll(QStringLiteral("ordered"));
396 }
397
398 void QUmlParameterObject::setUnique(bool isUnique)
399 {
400     qmodelingelementproperty_cast<QUmlParameter *>(this)->setUnique(isUnique);
401 }
402
403 void QUmlParameterObject::unsetUnique()
404 {
405     Q_D(QModelingObject);
406
407     setUnique(true);
408     d->modifiedResettableProperties.removeAll(QStringLiteral("unique"));
409 }
410
411 void QUmlParameterObject::setLower(int lower)
412 {
413     qmodelingelementproperty_cast<QUmlParameter *>(this)->setLower(lower);
414 }
415
416 void QUmlParameterObject::unsetLower()
417 {
418     Q_D(QModelingObject);
419     setLower(1);
420     d->modifiedResettableProperties.removeAll(QStringLiteral("lower"));
421 }
422
423 void QUmlParameterObject::setLowerValue(QObject *lowerValue)
424 {
425     qmodelingelementproperty_cast<QUmlParameter *>(this)->setLowerValue(qmodelingelementproperty_cast<QUmlValueSpecification *>(lowerValue));
426 }
427
428 void QUmlParameterObject::setUpper(int upper)
429 {
430     qmodelingelementproperty_cast<QUmlParameter *>(this)->setUpper(upper);
431 }
432
433 void QUmlParameterObject::unsetUpper()
434 {
435     Q_D(QModelingObject);
436     setUpper(1);
437     d->modifiedResettableProperties.removeAll(QStringLiteral("upper"));
438 }
439
440 void QUmlParameterObject::setUpperValue(QObject *upperValue)
441 {
442     qmodelingelementproperty_cast<QUmlParameter *>(this)->setUpperValue(qmodelingelementproperty_cast<QUmlValueSpecification *>(upperValue));
443 }
444
445 // SLOTS FOR OWNED ATTRIBUTES [NamedElement]
446
447 void QUmlParameterObject::addClientDependency(QObject *clientDependency)
448 {
449     qmodelingelementproperty_cast<QUmlParameter *>(this)->addClientDependency(qmodelingelementproperty_cast<QUmlDependency *>(clientDependency));
450 }
451
452 void QUmlParameterObject::removeClientDependency(QObject *clientDependency)
453 {
454     qmodelingelementproperty_cast<QUmlParameter *>(this)->removeClientDependency(qmodelingelementproperty_cast<QUmlDependency *>(clientDependency));
455 }
456
457 void QUmlParameterObject::setName(QString name)
458 {
459     qmodelingelementproperty_cast<QUmlParameter *>(this)->setName(name);
460 }
461
462 void QUmlParameterObject::setNameExpression(QObject *nameExpression)
463 {
464     qmodelingelementproperty_cast<QUmlParameter *>(this)->setNameExpression(qmodelingelementproperty_cast<QUmlStringExpression *>(nameExpression));
465 }
466
467 void QUmlParameterObject::setNamespace(QObject *namespace_)
468 {
469     qmodelingelementproperty_cast<QUmlParameter *>(this)->setNamespace(qmodelingelementproperty_cast<QUmlNamespace *>(namespace_));
470 }
471
472 void QUmlParameterObject::setQualifiedName(QString qualifiedName)
473 {
474     qmodelingelementproperty_cast<QUmlParameter *>(this)->setQualifiedName(qualifiedName);
475 }
476
477 void QUmlParameterObject::setVisibility(QtUml::VisibilityKind visibility)
478 {
479     qmodelingelementproperty_cast<QUmlParameter *>(this)->setVisibility(visibility);
480 }
481
482 // SLOTS FOR OWNED ATTRIBUTES [TypedElement]
483
484 void QUmlParameterObject::setType(QObject *type)
485 {
486     qmodelingelementproperty_cast<QUmlParameter *>(this)->setType(qmodelingelementproperty_cast<QUmlType *>(type));
487 }
488
489 // SLOTS FOR OWNED ATTRIBUTES [ParameterableElement]
490
491 void QUmlParameterObject::setOwningTemplateParameter(QObject *owningTemplateParameter)
492 {
493     qmodelingelementproperty_cast<QUmlParameter *>(this)->setOwningTemplateParameter(qmodelingelementproperty_cast<QUmlTemplateParameter *>(owningTemplateParameter));
494 }
495 // SLOTS FOR OWNED ATTRIBUTES [ConnectableElement]
496
497 void QUmlParameterObject::addEnd(QObject *end)
498 {
499     qmodelingelementproperty_cast<QUmlParameter *>(this)->addEnd(qmodelingelementproperty_cast<QUmlConnectorEnd *>(end));
500 }
501
502 void QUmlParameterObject::removeEnd(QObject *end)
503 {
504     qmodelingelementproperty_cast<QUmlParameter *>(this)->removeEnd(qmodelingelementproperty_cast<QUmlConnectorEnd *>(end));
505 }
506
507 void QUmlParameterObject::setTemplateParameter(QObject *templateParameter)
508 {
509     qmodelingelementproperty_cast<QUmlParameter *>(this)->setTemplateParameter(qmodelingelementproperty_cast<QUmlConnectableElementTemplateParameter *>(templateParameter));
510 }
511
512 // SLOTS FOR OWNED ATTRIBUTES [Parameter]
513
514 void QUmlParameterObject::setDefault(QString default_)
515 {
516     qmodelingelementproperty_cast<QUmlParameter *>(this)->setDefault(default_);
517 }
518
519 void QUmlParameterObject::setDefaultValue(QObject *defaultValue)
520 {
521     qmodelingelementproperty_cast<QUmlParameter *>(this)->setDefaultValue(qmodelingelementproperty_cast<QUmlValueSpecification *>(defaultValue));
522 }
523
524 void QUmlParameterObject::setDirection(QtUml::ParameterDirectionKind direction)
525 {
526     qmodelingelementproperty_cast<QUmlParameter *>(this)->setDirection(direction);
527 }
528
529 void QUmlParameterObject::unsetDirection()
530 {
531     Q_D(QModelingObject);
532     setDirection(QtUml::ParameterDirectionKindIn);
533     d->modifiedResettableProperties.removeAll(QStringLiteral("direction"));
534 }
535
536 void QUmlParameterObject::setEffect(QtUml::ParameterEffectKind effect)
537 {
538     qmodelingelementproperty_cast<QUmlParameter *>(this)->setEffect(effect);
539 }
540
541 void QUmlParameterObject::setException(bool isException)
542 {
543     qmodelingelementproperty_cast<QUmlParameter *>(this)->setException(isException);
544 }
545
546 void QUmlParameterObject::unsetException()
547 {
548     Q_D(QModelingObject);
549     setException(false);
550     d->modifiedResettableProperties.removeAll(QStringLiteral("exception"));
551 }
552
553 void QUmlParameterObject::setStream(bool isStream)
554 {
555     qmodelingelementproperty_cast<QUmlParameter *>(this)->setStream(isStream);
556 }
557
558 void QUmlParameterObject::unsetStream()
559 {
560     Q_D(QModelingObject);
561     setStream(false);
562     d->modifiedResettableProperties.removeAll(QStringLiteral("stream"));
563 }
564
565 void QUmlParameterObject::setOperation(QObject *operation)
566 {
567     qmodelingelementproperty_cast<QUmlParameter *>(this)->setOperation(qmodelingelementproperty_cast<QUmlOperation *>(operation));
568 }
569
570 void QUmlParameterObject::addParameterSet(QObject *parameterSet)
571 {
572     qmodelingelementproperty_cast<QUmlParameter *>(this)->addParameterSet(qmodelingelementproperty_cast<QUmlParameterSet *>(parameterSet));
573 }
574
575 void QUmlParameterObject::removeParameterSet(QObject *parameterSet)
576 {
577     qmodelingelementproperty_cast<QUmlParameter *>(this)->removeParameterSet(qmodelingelementproperty_cast<QUmlParameterSet *>(parameterSet));
578 }
579
580
581 void QUmlParameterObject::setGroupProperties()
582 {
583     Q_D(QModelingObject);
584     const QMetaObject *metaObject = this->metaObject();
585
586     d->propertyGroups << QStringLiteral("QObject");
587     d->groupProperties.insert(QStringLiteral("QObject"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("objectName"))));
588
589     d->propertyGroups << QStringLiteral("QUmlElement");
590     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedComments"))));
591     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedElements"))));
592     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("owner"))));
593
594     d->propertyGroups << QStringLiteral("QUmlMultiplicityElement");
595     d->groupProperties.insert(QStringLiteral("QUmlMultiplicityElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isOrdered"))));
596     d->groupProperties.insert(QStringLiteral("QUmlMultiplicityElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isUnique"))));
597     d->groupProperties.insert(QStringLiteral("QUmlMultiplicityElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("lower"))));
598     d->groupProperties.insert(QStringLiteral("QUmlMultiplicityElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("lowerValue"))));
599     d->groupProperties.insert(QStringLiteral("QUmlMultiplicityElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("upper"))));
600     d->groupProperties.insert(QStringLiteral("QUmlMultiplicityElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("upperValue"))));
601
602     d->propertyGroups << QStringLiteral("QUmlNamedElement");
603     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("clientDependencies"))));
604     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("name"))));
605     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("nameExpression"))));
606     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("namespace_"))));
607     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("qualifiedName"))));
608     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("visibility"))));
609
610     d->propertyGroups << QStringLiteral("QUmlTypedElement");
611     d->groupProperties.insert(QStringLiteral("QUmlTypedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("type"))));
612
613     d->propertyGroups << QStringLiteral("QUmlParameterableElement");
614     d->groupProperties.insert(QStringLiteral("QUmlParameterableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("owningTemplateParameter"))));
615
616     d->propertyGroups << QStringLiteral("QUmlConnectableElement");
617     d->groupProperties.insert(QStringLiteral("QUmlConnectableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ends"))));
618     d->groupProperties.insert(QStringLiteral("QUmlConnectableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("templateParameter"))));
619
620     d->propertyGroups << QStringLiteral("QUmlParameter");
621     d->groupProperties.insert(QStringLiteral("QUmlParameter"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("default_"))));
622     d->groupProperties.insert(QStringLiteral("QUmlParameter"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("defaultValue"))));
623     d->groupProperties.insert(QStringLiteral("QUmlParameter"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("direction"))));
624     d->groupProperties.insert(QStringLiteral("QUmlParameter"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("effect"))));
625     d->groupProperties.insert(QStringLiteral("QUmlParameter"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isException"))));
626     d->groupProperties.insert(QStringLiteral("QUmlParameter"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isStream"))));
627     d->groupProperties.insert(QStringLiteral("QUmlParameter"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("operation"))));
628     d->groupProperties.insert(QStringLiteral("QUmlParameter"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("parameterSets"))));
629 }
630
631 void QUmlParameterObject::setPropertyData()
632 {
633     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, AggregationRole, QStringLiteral("composite"));
634     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, PropertyClassRole, QStringLiteral("QUmlElement"));
635     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, IsDerivedRole, false);
636     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, IsDerivedUnionRole, false);
637     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, DocumentationRole, QStringLiteral("The Comments owned by this element."));
638     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, RedefinedPropertiesRole, QStringLiteral(""));
639     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
640     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, OppositeEndRole, QStringLiteral(""));
641
642     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, AggregationRole, QStringLiteral("composite"));
643     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, PropertyClassRole, QStringLiteral("QUmlElement"));
644     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, IsDerivedRole, true);
645     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, IsDerivedUnionRole, true);
646     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, DocumentationRole, QStringLiteral("The Elements owned by this element."));
647     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, RedefinedPropertiesRole, QStringLiteral(""));
648     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, SubsettedPropertiesRole, QStringLiteral(""));
649     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, OppositeEndRole, QStringLiteral("Element-owner"));
650
651     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, AggregationRole, QStringLiteral("none"));
652     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, PropertyClassRole, QStringLiteral("QUmlElement"));
653     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, IsDerivedRole, true);
654     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, IsDerivedUnionRole, true);
655     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, DocumentationRole, QStringLiteral("The Element that owns this element."));
656     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, RedefinedPropertiesRole, QStringLiteral(""));
657     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, SubsettedPropertiesRole, QStringLiteral(""));
658     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, OppositeEndRole, QStringLiteral("Element-ownedElement"));
659
660     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isOrdered, AggregationRole, QStringLiteral("none"));
661     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isOrdered, PropertyClassRole, QStringLiteral("QUmlMultiplicityElement"));
662     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isOrdered, IsDerivedRole, false);
663     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isOrdered, IsDerivedUnionRole, false);
664     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isOrdered, DocumentationRole, QStringLiteral("For a multivalued multiplicity, this attribute specifies whether the values in an instantiation of this element are sequentially ordered."));
665     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isOrdered, RedefinedPropertiesRole, QStringLiteral(""));
666     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isOrdered, SubsettedPropertiesRole, QStringLiteral(""));
667     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isOrdered, OppositeEndRole, QStringLiteral(""));
668
669     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isUnique, AggregationRole, QStringLiteral("none"));
670     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isUnique, PropertyClassRole, QStringLiteral("QUmlMultiplicityElement"));
671     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isUnique, IsDerivedRole, false);
672     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isUnique, IsDerivedUnionRole, false);
673     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isUnique, DocumentationRole, QStringLiteral("For a multivalued multiplicity, this attributes specifies whether the values in an instantiation of this element are unique."));
674     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isUnique, RedefinedPropertiesRole, QStringLiteral(""));
675     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isUnique, SubsettedPropertiesRole, QStringLiteral(""));
676     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, isUnique, OppositeEndRole, QStringLiteral(""));
677
678     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lower, AggregationRole, QStringLiteral("none"));
679     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lower, PropertyClassRole, QStringLiteral("QUmlMultiplicityElement"));
680     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lower, IsDerivedRole, true);
681     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lower, IsDerivedUnionRole, false);
682     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lower, DocumentationRole, QStringLiteral("Specifies the lower bound of the multiplicity interval."));
683     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lower, RedefinedPropertiesRole, QStringLiteral(""));
684     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lower, SubsettedPropertiesRole, QStringLiteral(""));
685     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lower, OppositeEndRole, QStringLiteral(""));
686
687     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lowerValue, AggregationRole, QStringLiteral("composite"));
688     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lowerValue, PropertyClassRole, QStringLiteral("QUmlMultiplicityElement"));
689     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lowerValue, IsDerivedRole, false);
690     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lowerValue, IsDerivedUnionRole, false);
691     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lowerValue, DocumentationRole, QStringLiteral("The specification of the lower bound for this multiplicity."));
692     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lowerValue, RedefinedPropertiesRole, QStringLiteral(""));
693     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lowerValue, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
694     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, lowerValue, OppositeEndRole, QStringLiteral(""));
695
696     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upper, AggregationRole, QStringLiteral("none"));
697     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upper, PropertyClassRole, QStringLiteral("QUmlMultiplicityElement"));
698     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upper, IsDerivedRole, true);
699     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upper, IsDerivedUnionRole, false);
700     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upper, DocumentationRole, QStringLiteral("Specifies the upper bound of the multiplicity interval."));
701     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upper, RedefinedPropertiesRole, QStringLiteral(""));
702     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upper, SubsettedPropertiesRole, QStringLiteral(""));
703     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upper, OppositeEndRole, QStringLiteral(""));
704
705     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upperValue, AggregationRole, QStringLiteral("composite"));
706     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upperValue, PropertyClassRole, QStringLiteral("QUmlMultiplicityElement"));
707     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upperValue, IsDerivedRole, false);
708     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upperValue, IsDerivedUnionRole, false);
709     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upperValue, DocumentationRole, QStringLiteral("The specification of the upper bound for this multiplicity."));
710     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upperValue, RedefinedPropertiesRole, QStringLiteral(""));
711     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upperValue, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
712     Q_DECLARE_METAPROPERTY_INFO(QUmlMultiplicityElement, upperValue, OppositeEndRole, QStringLiteral(""));
713
714     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, AggregationRole, QStringLiteral("none"));
715     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
716     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, IsDerivedRole, false);
717     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, IsDerivedUnionRole, false);
718     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, DocumentationRole, QStringLiteral("Indicates the dependencies that reference the client."));
719     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, RedefinedPropertiesRole, QStringLiteral(""));
720     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, SubsettedPropertiesRole, QStringLiteral("A_source_directedRelationship-directedRelationship"));
721     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, OppositeEndRole, QStringLiteral("Dependency-client"));
722
723     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, AggregationRole, QStringLiteral("none"));
724     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
725     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, IsDerivedRole, false);
726     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, IsDerivedUnionRole, false);
727     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, DocumentationRole, QStringLiteral("The name of the NamedElement."));
728     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, RedefinedPropertiesRole, QStringLiteral(""));
729     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, SubsettedPropertiesRole, QStringLiteral(""));
730     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, OppositeEndRole, QStringLiteral(""));
731
732     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, AggregationRole, QStringLiteral("composite"));
733     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
734     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, IsDerivedRole, false);
735     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, IsDerivedUnionRole, false);
736     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, DocumentationRole, QStringLiteral("The string expression used to define the name of this named element."));
737     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, RedefinedPropertiesRole, QStringLiteral(""));
738     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
739     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, OppositeEndRole, QStringLiteral(""));
740
741     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, AggregationRole, QStringLiteral("none"));
742     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
743     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, IsDerivedRole, true);
744     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, IsDerivedUnionRole, true);
745     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, DocumentationRole, QStringLiteral("Specifies the namespace that owns the NamedElement."));
746     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, RedefinedPropertiesRole, QStringLiteral(""));
747     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, SubsettedPropertiesRole, QStringLiteral("A_member_memberNamespace-memberNamespace Element-owner"));
748     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, OppositeEndRole, QStringLiteral("Namespace-ownedMember"));
749
750     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, AggregationRole, QStringLiteral("none"));
751     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
752     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, IsDerivedRole, true);
753     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, IsDerivedUnionRole, false);
754     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."));
755     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, RedefinedPropertiesRole, QStringLiteral(""));
756     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, SubsettedPropertiesRole, QStringLiteral(""));
757     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, OppositeEndRole, QStringLiteral(""));
758
759     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, AggregationRole, QStringLiteral("none"));
760     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
761     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, IsDerivedRole, false);
762     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, IsDerivedUnionRole, false);
763     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, DocumentationRole, QStringLiteral("Determines where the NamedElement appears within different Namespaces within the overall model, and its accessibility."));
764     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, RedefinedPropertiesRole, QStringLiteral(""));
765     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, SubsettedPropertiesRole, QStringLiteral(""));
766     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, OppositeEndRole, QStringLiteral(""));
767
768     Q_DECLARE_METAPROPERTY_INFO(QUmlTypedElement, type, AggregationRole, QStringLiteral("none"));
769     Q_DECLARE_METAPROPERTY_INFO(QUmlTypedElement, type, PropertyClassRole, QStringLiteral("QUmlTypedElement"));
770     Q_DECLARE_METAPROPERTY_INFO(QUmlTypedElement, type, IsDerivedRole, false);
771     Q_DECLARE_METAPROPERTY_INFO(QUmlTypedElement, type, IsDerivedUnionRole, false);
772     Q_DECLARE_METAPROPERTY_INFO(QUmlTypedElement, type, DocumentationRole, QStringLiteral("This information is derived from the return result for this Operation.The type of the TypedElement."));
773     Q_DECLARE_METAPROPERTY_INFO(QUmlTypedElement, type, RedefinedPropertiesRole, QStringLiteral(""));
774     Q_DECLARE_METAPROPERTY_INFO(QUmlTypedElement, type, SubsettedPropertiesRole, QStringLiteral(""));
775     Q_DECLARE_METAPROPERTY_INFO(QUmlTypedElement, type, OppositeEndRole, QStringLiteral(""));
776
777     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, AggregationRole, QStringLiteral("none"));
778     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, PropertyClassRole, QStringLiteral("QUmlParameterableElement"));
779     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, IsDerivedRole, false);
780     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, IsDerivedUnionRole, false);
781     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, DocumentationRole, QStringLiteral("The formal template parameter that owns this element."));
782     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, RedefinedPropertiesRole, QStringLiteral(""));
783     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, SubsettedPropertiesRole, QStringLiteral("ParameterableElement-templateParameter Element-owner"));
784     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, OppositeEndRole, QStringLiteral("TemplateParameter-ownedParameteredElement"));
785
786     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, AggregationRole, QStringLiteral("none"));
787     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, PropertyClassRole, QStringLiteral("QUmlParameterableElement"));
788     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, IsDerivedRole, false);
789     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, IsDerivedUnionRole, false);
790     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, DocumentationRole, QStringLiteral("The template parameter that exposes this element as a formal parameter."));
791     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, RedefinedPropertiesRole, QStringLiteral(""));
792     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, SubsettedPropertiesRole, QStringLiteral(""));
793     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, OppositeEndRole, QStringLiteral("TemplateParameter-parameteredElement"));
794
795     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, ends, AggregationRole, QStringLiteral("none"));
796     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, ends, PropertyClassRole, QStringLiteral("QUmlConnectableElement"));
797     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, ends, IsDerivedRole, true);
798     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, ends, IsDerivedUnionRole, false);
799     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, ends, DocumentationRole, QStringLiteral("Denotes a set of connector ends that attaches to this connectable element."));
800     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, ends, RedefinedPropertiesRole, QStringLiteral(""));
801     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, ends, SubsettedPropertiesRole, QStringLiteral(""));
802     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, ends, OppositeEndRole, QStringLiteral("ConnectorEnd-role"));
803
804     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, templateParameter, AggregationRole, QStringLiteral("none"));
805     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, templateParameter, PropertyClassRole, QStringLiteral("QUmlConnectableElement"));
806     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, templateParameter, IsDerivedRole, false);
807     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, templateParameter, IsDerivedUnionRole, false);
808     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, templateParameter, DocumentationRole, QStringLiteral("The ConnectableElementTemplateParameter for this ConnectableElement parameter."));
809     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, templateParameter, RedefinedPropertiesRole, QStringLiteral("ParameterableElement-templateParameter"));
810     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, templateParameter, SubsettedPropertiesRole, QStringLiteral(""));
811     Q_DECLARE_METAPROPERTY_INFO(QUmlConnectableElement, templateParameter, OppositeEndRole, QStringLiteral("ConnectableElementTemplateParameter-parameteredElement"));
812
813     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, default_, AggregationRole, QStringLiteral("none"));
814     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, default_, PropertyClassRole, QStringLiteral("QUmlParameter"));
815     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, default_, IsDerivedRole, true);
816     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, default_, IsDerivedUnionRole, false);
817     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, default_, DocumentationRole, QStringLiteral("Specifies a String that represents a value to be used when no argument is supplied for the Parameter."));
818     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, default_, RedefinedPropertiesRole, QStringLiteral(""));
819     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, default_, SubsettedPropertiesRole, QStringLiteral(""));
820     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, default_, OppositeEndRole, QStringLiteral(""));
821
822     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, defaultValue, AggregationRole, QStringLiteral("composite"));
823     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, defaultValue, PropertyClassRole, QStringLiteral("QUmlParameter"));
824     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, defaultValue, IsDerivedRole, false);
825     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, defaultValue, IsDerivedUnionRole, false);
826     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, defaultValue, DocumentationRole, QStringLiteral("Specifies a ValueSpecification that represents a value to be used when no argument is supplied for the Parameter."));
827     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, defaultValue, RedefinedPropertiesRole, QStringLiteral(""));
828     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, defaultValue, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
829     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, defaultValue, OppositeEndRole, QStringLiteral(""));
830
831     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, direction, AggregationRole, QStringLiteral("none"));
832     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, direction, PropertyClassRole, QStringLiteral("QUmlParameter"));
833     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, direction, IsDerivedRole, false);
834     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, direction, IsDerivedUnionRole, false);
835     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, direction, DocumentationRole, QStringLiteral("Indicates whether a parameter is being sent into or out of a behavioral element."));
836     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, direction, RedefinedPropertiesRole, QStringLiteral(""));
837     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, direction, SubsettedPropertiesRole, QStringLiteral(""));
838     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, direction, OppositeEndRole, QStringLiteral(""));
839
840     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, effect, AggregationRole, QStringLiteral("none"));
841     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, effect, PropertyClassRole, QStringLiteral("QUmlParameter"));
842     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, effect, IsDerivedRole, false);
843     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, effect, IsDerivedUnionRole, false);
844     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, effect, DocumentationRole, QStringLiteral("Specifies the effect that the owner of the parameter has on values passed in or out of the parameter."));
845     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, effect, RedefinedPropertiesRole, QStringLiteral(""));
846     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, effect, SubsettedPropertiesRole, QStringLiteral(""));
847     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, effect, OppositeEndRole, QStringLiteral(""));
848
849     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isException, AggregationRole, QStringLiteral("none"));
850     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isException, PropertyClassRole, QStringLiteral("QUmlParameter"));
851     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isException, IsDerivedRole, false);
852     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isException, IsDerivedUnionRole, false);
853     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isException, DocumentationRole, QStringLiteral("Tells whether an output parameter may emit a value to the exclusion of the other outputs."));
854     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isException, RedefinedPropertiesRole, QStringLiteral(""));
855     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isException, SubsettedPropertiesRole, QStringLiteral(""));
856     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isException, OppositeEndRole, QStringLiteral(""));
857
858     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isStream, AggregationRole, QStringLiteral("none"));
859     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isStream, PropertyClassRole, QStringLiteral("QUmlParameter"));
860     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isStream, IsDerivedRole, false);
861     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isStream, IsDerivedUnionRole, false);
862     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isStream, DocumentationRole, QStringLiteral("Tells whether an input parameter may accept values while its behavior is executing, or whether an output parameter post values while the behavior is executing."));
863     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isStream, RedefinedPropertiesRole, QStringLiteral(""));
864     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isStream, SubsettedPropertiesRole, QStringLiteral(""));
865     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, isStream, OppositeEndRole, QStringLiteral(""));
866
867     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, operation, AggregationRole, QStringLiteral("none"));
868     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, operation, PropertyClassRole, QStringLiteral("QUmlParameter"));
869     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, operation, IsDerivedRole, false);
870     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, operation, IsDerivedUnionRole, false);
871     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, operation, DocumentationRole, QStringLiteral("References the Operation owning this parameter."));
872     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, operation, RedefinedPropertiesRole, QStringLiteral(""));
873     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, operation, SubsettedPropertiesRole, QStringLiteral("A_ownedParameter_ownerFormalParam-ownerFormalParam"));
874     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, operation, OppositeEndRole, QStringLiteral("Operation-ownedParameter"));
875
876     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, parameterSets, AggregationRole, QStringLiteral("none"));
877     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, parameterSets, PropertyClassRole, QStringLiteral("QUmlParameter"));
878     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, parameterSets, IsDerivedRole, false);
879     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, parameterSets, IsDerivedUnionRole, false);
880     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, parameterSets, DocumentationRole, QStringLiteral("The parameter sets containing the parameter. See ParameterSet."));
881     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, parameterSets, RedefinedPropertiesRole, QStringLiteral(""));
882     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, parameterSets, SubsettedPropertiesRole, QStringLiteral(""));
883     Q_DECLARE_METAPROPERTY_INFO(QUmlParameter, parameterSets, OppositeEndRole, QStringLiteral("ParameterSet-parameter"));
884
885 }
886
887 QT_END_NAMESPACE
888