public void AddSubElementCopy(Element parentElement, Element subElement, Element subElementCopy) { if (!SubElements.ContainsKey(parentElement)) { SubElements[parentElement] = new SubElementCopiesMap(); } SubElements[parentElement][subElement] = subElementCopy; }
public SubElementCopiesMap GetSubElementsList(Element parentElement) { if (!SubElements.ContainsKey(parentElement)) { SubElements[parentElement] = new SubElementCopiesMap(); } return(SubElements[parentElement]); }
public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies) { base.FillCopy(copyElement, targetModel, createdCopies); Association copyAssociation = (Association)copyElement; SubElementCopiesMap subElementCopiesMap = createdCopies.GetSubElementsList(this); for (int i = 0; i < this.Ends.Count; i++) { AssociationEnd end = this.Ends[i]; AssociationEnd copyEnd = copyAssociation.Ends[i]; end.FillCopy(copyEnd, targetModel, createdCopies); subElementCopiesMap[end] = copyEnd; } }
public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies) { base.FillCopy(copyElement, targetModel, createdCopies); PSMAttributeContainer copyPSMAttributeContainer = (PSMAttributeContainer)copyElement; SubElementCopiesMap subElementCopiesMap = createdCopies.GetSubElementsList(this); foreach (PSMAttribute psmAttribute in PSMAttributes) { PSMAttribute copyAttribute = copyPSMAttributeContainer.AddAttribute(); psmAttribute.FillCopy(copyAttribute, targetModel, createdCopies); subElementCopiesMap[psmAttribute] = copyAttribute; } if (Parent != null && createdCopies.ContainsKey(Parent)) { PSMSuperordinateComponent copyParent = (PSMSuperordinateComponent)createdCopies[Parent]; ((_ImplPSMSubordinateComponent)copyPSMAttributeContainer).Parent = copyParent; copyParent.Components.Add(copyPSMAttributeContainer); } }
public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies) { base.FillCopy(copyElement, targetModel, createdCopies); AssociationClass copyAssociationClass = (AssociationClass)copyElement; copyAssociationClass.IsAbstract = IsAbstract; SubElementCopiesMap subElementCopiesMap = createdCopies.GetSubElementsList(this); foreach (Property attribute in Attributes) { Property copyAttribute = copyAssociationClass.AddAttribute(); attribute.FillCopy(copyAttribute, targetModel, createdCopies); subElementCopiesMap[attribute] = copyAttribute; } foreach (Operation operation in Operations) { Operation copyOperation = copyAssociationClass.AddOperation(); operation.FillCopy(copyOperation, targetModel, createdCopies); subElementCopiesMap.Add(operation, copyOperation); } }