summaryrefslogtreecommitdiffstats
path: root/src/uml/qumlclass.cpp
diff options
context:
space:
mode:
authorSandro S. Andrade <sandroandrade@kde.org>2013-08-25 16:07:06 -0300
committerSandro S. Andrade <sandroandrade@kde.org>2013-08-25 21:06:07 +0200
commit1c770ad764a39ce0ad40913c1c4bd72bd43710a9 (patch)
treee6f7789ee1b007e081c7f45e385135b6e8e37bd2 /src/uml/qumlclass.cpp
parentea1a2ed03ac0880ef969e01598016de0581fbd41 (diff)
Add handling of derived properties in artifact generation from xmi
Change-Id: I3764f41fd6a727f1a09daed9fc82c9fedf8ba5af Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'src/uml/qumlclass.cpp')
-rw-r--r--src/uml/qumlclass.cpp146
1 files changed, 118 insertions, 28 deletions
diff --git a/src/uml/qumlclass.cpp b/src/uml/qumlclass.cpp
index a7b5939a..82e3dcd7 100644
--- a/src/uml/qumlclass.cpp
+++ b/src/uml/qumlclass.cpp
@@ -72,13 +72,17 @@ QUmlClass::QUmlClass(bool create_d_ptr) :
set_d_ptr(new QUmlClassPrivate);
}
-// Owned attributes
+// OWNED ATTRIBUTES
/*!
References the Extensions that specify additional properties of the metaclass. The property is derived from the extensions whose memberEnds are typed by the Class.
*/
QSet<QUmlExtension *> QUmlClass::extension() const
{
+ // This is a read-only derived association end
+
+ qWarning("QUmlClass::extension(): to be implemented (this is a derived association end)");
+
return QSet<QUmlExtension *>();
}
@@ -87,12 +91,20 @@ QSet<QUmlExtension *> QUmlClass::extension() const
*/
bool QUmlClass::isAbstract() const
{
- return bool();
+ // This is a read-write property
+
+ QM_D(const QUmlClass);
+ return d->isAbstract;
}
void QUmlClass::setAbstract(bool isAbstract)
{
- Q_UNUSED(isAbstract);
+ // This is a read-write property
+
+ QM_D(QUmlClass);
+ if (d->isAbstract != isAbstract) {
+ d->isAbstract = isAbstract;
+ }
}
/*!
@@ -100,12 +112,20 @@ void QUmlClass::setAbstract(bool isAbstract)
*/
bool QUmlClass::isActive() const
{
- return bool();
+ // This is a read-write property
+
+ QM_D(const QUmlClass);
+ return d->isActive;
}
void QUmlClass::setActive(bool isActive)
{
- Q_UNUSED(isActive);
+ // This is a read-write property
+
+ QM_D(QUmlClass);
+ if (d->isActive != isActive) {
+ d->isActive = isActive;
+ }
}
/*!
@@ -113,17 +133,30 @@ void QUmlClass::setActive(bool isActive)
*/
QList<QUmlClassifier *> QUmlClass::nestedClassifier() const
{
- return QList<QUmlClassifier *>();
+ // This is a read-write association end
+
+ QM_D(const QUmlClass);
+ return d->nestedClassifier;
}
-void QUmlClass::addNestedClassifier(QList<QUmlClassifier *> nestedClassifier)
+void QUmlClass::addNestedClassifier(QUmlClassifier *nestedClassifier)
{
- Q_UNUSED(nestedClassifier);
+ // This is a read-write association end
+
+ QM_D(QUmlClass);
+ if (!d->nestedClassifier.contains(nestedClassifier)) {
+ d->nestedClassifier.append(nestedClassifier);
+ }
}
-void QUmlClass::removeNestedClassifier(QList<QUmlClassifier *> nestedClassifier)
+void QUmlClass::removeNestedClassifier(QUmlClassifier *nestedClassifier)
{
- Q_UNUSED(nestedClassifier);
+ // This is a read-write association end
+
+ QM_D(QUmlClass);
+ if (d->nestedClassifier.contains(nestedClassifier)) {
+ d->nestedClassifier.removeAll(nestedClassifier);
+ }
}
/*!
@@ -131,17 +164,30 @@ void QUmlClass::removeNestedClassifier(QList<QUmlClassifier *> nestedClassifier)
*/
QList<QUmlProperty *> QUmlClass::ownedAttribute() const
{
- return QList<QUmlProperty *>();
+ // This is a read-write association end
+
+ QM_D(const QUmlClass);
+ return d->ownedAttribute;
}
-void QUmlClass::addOwnedAttribute(QList<QUmlProperty *> ownedAttribute)
+void QUmlClass::addOwnedAttribute(QUmlProperty *ownedAttribute)
{
- Q_UNUSED(ownedAttribute);
+ // This is a read-write association end
+
+ QM_D(QUmlClass);
+ if (!d->ownedAttribute.contains(ownedAttribute)) {
+ d->ownedAttribute.append(ownedAttribute);
+ }
}
-void QUmlClass::removeOwnedAttribute(QList<QUmlProperty *> ownedAttribute)
+void QUmlClass::removeOwnedAttribute(QUmlProperty *ownedAttribute)
{
- Q_UNUSED(ownedAttribute);
+ // This is a read-write association end
+
+ QM_D(QUmlClass);
+ if (d->ownedAttribute.contains(ownedAttribute)) {
+ d->ownedAttribute.removeAll(ownedAttribute);
+ }
}
/*!
@@ -149,17 +195,30 @@ void QUmlClass::removeOwnedAttribute(QList<QUmlProperty *> ownedAttribute)
*/
QList<QUmlOperation *> QUmlClass::ownedOperation() const
{
- return QList<QUmlOperation *>();
+ // This is a read-write association end
+
+ QM_D(const QUmlClass);
+ return d->ownedOperation;
}
-void QUmlClass::addOwnedOperation(QList<QUmlOperation *> ownedOperation)
+void QUmlClass::addOwnedOperation(QUmlOperation *ownedOperation)
{
- Q_UNUSED(ownedOperation);
+ // This is a read-write association end
+
+ QM_D(QUmlClass);
+ if (!d->ownedOperation.contains(ownedOperation)) {
+ d->ownedOperation.append(ownedOperation);
+ }
}
-void QUmlClass::removeOwnedOperation(QList<QUmlOperation *> ownedOperation)
+void QUmlClass::removeOwnedOperation(QUmlOperation *ownedOperation)
{
- Q_UNUSED(ownedOperation);
+ // This is a read-write association end
+
+ QM_D(QUmlClass);
+ if (d->ownedOperation.contains(ownedOperation)) {
+ d->ownedOperation.removeAll(ownedOperation);
+ }
}
/*!
@@ -167,17 +226,30 @@ void QUmlClass::removeOwnedOperation(QList<QUmlOperation *> ownedOperation)
*/
QSet<QUmlReception *> QUmlClass::ownedReception() const
{
- return QSet<QUmlReception *>();
+ // This is a read-write association end
+
+ QM_D(const QUmlClass);
+ return d->ownedReception;
}
-void QUmlClass::addOwnedReception(QSet<QUmlReception *> ownedReception)
+void QUmlClass::addOwnedReception(QUmlReception *ownedReception)
{
- Q_UNUSED(ownedReception);
+ // This is a read-write association end
+
+ QM_D(QUmlClass);
+ if (!d->ownedReception.contains(ownedReception)) {
+ d->ownedReception.insert(ownedReception);
+ }
}
-void QUmlClass::removeOwnedReception(QSet<QUmlReception *> ownedReception)
+void QUmlClass::removeOwnedReception(QUmlReception *ownedReception)
{
- Q_UNUSED(ownedReception);
+ // This is a read-write association end
+
+ QM_D(QUmlClass);
+ if (d->ownedReception.contains(ownedReception)) {
+ d->ownedReception.remove(ownedReception);
+ }
}
/*!
@@ -185,20 +257,38 @@ void QUmlClass::removeOwnedReception(QSet<QUmlReception *> ownedReception)
*/
QSet<QUmlClass *> QUmlClass::superClass() const
{
+ // This is a read-write derived association end
+
+ qWarning("QUmlClass::superClass(): to be implemented (this is a derived association end)");
+
return QSet<QUmlClass *>();
}
-void QUmlClass::addSuperClass(QSet<QUmlClass *> superClass)
+void QUmlClass::addSuperClass(QUmlClass *superClass)
{
+ // This is a read-write derived association end
+
+ qWarning("QUmlClass::superClass(): to be implemented (this is a derived association end)");
Q_UNUSED(superClass);
+
+ if (false /* <derivedexclusion-criteria> */) {
+ // <derived-code>
+ }
}
-void QUmlClass::removeSuperClass(QSet<QUmlClass *> superClass)
+void QUmlClass::removeSuperClass(QUmlClass *superClass)
{
+ // This is a read-write derived association end
+
+ qWarning("QUmlClass::superClass(): to be implemented (this is a derived association end)");
Q_UNUSED(superClass);
+
+ if (false /* <derivedexclusion-criteria> */) {
+ // <derived-code>
+ }
}
-// Operations
+// OPERATIONS
/*!
The inherit operation is overridden to exclude redefined properties.