/*! Returns a deep-copied clone of the QUmlReadLinkObjectEndAction. */ QModelingElement *QUmlReadLinkObjectEndAction::clone() const { QUmlReadLinkObjectEndAction *c = new QUmlReadLinkObjectEndAction; 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 (QUmlExceptionHandler *element, handlers()) c->addHandler(dynamic_cast<QUmlExceptionHandler *>(element->clone())); c->setLocallyReentrant(isLocallyReentrant()); foreach (QUmlConstraint *element, localPostconditions()) c->addLocalPostcondition(dynamic_cast<QUmlConstraint *>(element->clone())); foreach (QUmlConstraint *element, localPreconditions()) c->addLocalPrecondition(dynamic_cast<QUmlConstraint *>(element->clone())); if (object()) c->setObject(dynamic_cast<QUmlInputPin *>(object()->clone())); if (result()) c->setResult(dynamic_cast<QUmlOutputPin *>(result()->clone())); return c; }
/*! 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; }
/*! Returns a deep-copied clone of the QUmlType. */ QModelingElement *QUmlType::clone() const { QUmlType *c = new QUmlType; 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()); return c; }
/*! Returns a deep-copied clone of the QUmlExecutionSpecification. */ QModelingElement *QUmlExecutionSpecification::clone() const { QUmlExecutionSpecification *c = new QUmlExecutionSpecification; 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()); foreach (QUmlGeneralOrdering *element, generalOrderings()) c->addGeneralOrdering(dynamic_cast<QUmlGeneralOrdering *>(element->clone())); return c; }
/*! Returns a deep-copied clone of the QUmlDurationConstraint. */ QModelingElement *QUmlDurationConstraint::clone() const { QUmlDurationConstraint *c = new QUmlDurationConstraint; 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->setFirstEvent(firstEvent()); if (specification()) c->setSpecification(dynamic_cast<QUmlDurationInterval *>(specification()->clone())); return c; }
/*! Returns a deep-copied clone of the QUmlOpaqueExpression. */ QModelingElement *QUmlOpaqueExpression::clone() const { QUmlOpaqueExpression *c = new QUmlOpaqueExpression; 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()); foreach (QString element, bodies()) c->addBody(element); foreach (QString element, languages()) c->addLanguage(element); return c; }