/*! Returns a deep-copied clone of the QUmlProtocolTransition. */ QModelingElement *QUmlProtocolTransition::clone() const { QUmlProtocolTransition *c = new QUmlProtocolTransition; c->asQModelingObject()->setObjectName(this->asQModelingObject()->objectName()); c->asQModelingObject()->setProperty("role", this->asQModelingObject()->property("role")); foreach (QUmlComment *element, ownedComments()) c->addOwnedComment(dynamic_cast<QUmlComment *>(element->clone())); c->setName(name()); if (nameExpression()) c->setNameExpression(dynamic_cast<QUmlStringExpression *>(nameExpression()->clone())); c->setVisibility(visibility()); c->setLeaf(isLeaf()); foreach (QUmlElementImport *element, elementImports()) c->addElementImport(dynamic_cast<QUmlElementImport *>(element->clone())); foreach (QUmlConstraint *element, ownedRules()) c->addOwnedRule(dynamic_cast<QUmlConstraint *>(element->clone())); foreach (QUmlPackageImport *element, packageImports()) c->addPackageImport(dynamic_cast<QUmlPackageImport *>(element->clone())); if (effect()) c->setEffect(dynamic_cast<QUmlBehavior *>(effect()->clone())); if (guard()) c->setGuard(dynamic_cast<QUmlConstraint *>(guard()->clone())); c->setKind(kind()); foreach (QUmlTrigger *element, triggers()) c->addTrigger(dynamic_cast<QUmlTrigger *>(element->clone())); if (postCondition()) c->setPostCondition(dynamic_cast<QUmlConstraint *>(postCondition()->clone())); if (preCondition()) c->setPreCondition(dynamic_cast<QUmlConstraint *>(preCondition()->clone())); return c; }
/*! Returns a deep-copied clone of the QUmlAssociationClass. */ QModelingElement *QUmlAssociationClass::clone() const { QUmlAssociationClass *c = new QUmlAssociationClass; c->asQModelingObject()->setObjectName(this->asQModelingObject()->objectName()); c->asQModelingObject()->setProperty("role", this->asQModelingObject()->property("role")); foreach (QUmlComment *element, ownedComments()) c->addOwnedComment(dynamic_cast<QUmlComment *>(element->clone())); c->setName(name()); if (nameExpression()) c->setNameExpression(dynamic_cast<QUmlStringExpression *>(nameExpression()->clone())); foreach (QUmlElementImport *element, elementImports()) c->addElementImport(dynamic_cast<QUmlElementImport *>(element->clone())); foreach (QUmlConstraint *element, ownedRules()) c->addOwnedRule(dynamic_cast<QUmlConstraint *>(element->clone())); foreach (QUmlPackageImport *element, packageImports()) c->addPackageImport(dynamic_cast<QUmlPackageImport *>(element->clone())); c->setVisibility(visibility()); c->setLeaf(isLeaf()); foreach (QUmlTemplateBinding *element, templateBindings()) c->addTemplateBinding(dynamic_cast<QUmlTemplateBinding *>(element->clone())); foreach (QUmlCollaborationUse *element, collaborationUses()) c->addCollaborationUse(dynamic_cast<QUmlCollaborationUse *>(element->clone())); foreach (QUmlGeneralization *element, generalizations()) c->addGeneralization(dynamic_cast<QUmlGeneralization *>(element->clone())); c->setFinalSpecialization(isFinalSpecialization()); if (ownedTemplateSignature()) c->setOwnedTemplateSignature(dynamic_cast<QUmlRedefinableTemplateSignature *>(ownedTemplateSignature()->clone())); foreach (QUmlUseCase *element, ownedUseCases()) c->addOwnedUseCase(dynamic_cast<QUmlUseCase *>(element->clone())); foreach (QUmlSubstitution *element, substitutions()) c->addSubstitution(dynamic_cast<QUmlSubstitution *>(element->clone())); foreach (QUmlConnector *element, ownedConnectors()) c->addOwnedConnector(dynamic_cast<QUmlConnector *>(element->clone())); foreach (QUmlInterfaceRealization *element, interfaceRealizations()) c->addInterfaceRealization(dynamic_cast<QUmlInterfaceRealization *>(element->clone())); foreach (QUmlBehavior *element, ownedBehaviors()) c->addOwnedBehavior(dynamic_cast<QUmlBehavior *>(element->clone())); c->setAbstract(isAbstract()); c->setActive(isActive()); foreach (QUmlClassifier *element, nestedClassifiers()) c->addNestedClassifier(dynamic_cast<QUmlClassifier *>(element->clone())); foreach (QUmlProperty *element, ownedAttributes()) c->addOwnedAttribute(dynamic_cast<QUmlProperty *>(element->clone())); foreach (QUmlOperation *element, ownedOperations()) c->addOwnedOperation(dynamic_cast<QUmlOperation *>(element->clone())); foreach (QUmlReception *element, ownedReceptions()) c->addOwnedReception(dynamic_cast<QUmlReception *>(element->clone())); c->setDerived(isDerived()); foreach (QUmlProperty *element, ownedEnds()) c->addOwnedEnd(dynamic_cast<QUmlProperty *>(element->clone())); return c; }