void MFlatAssignmentVisitor::visitMAssociation(const MAssociation *association)
{
    visitMRelation(association);
    auto targetAssociation = dynamic_cast<MAssociation *>(m_target);
    QMT_CHECK(targetAssociation);
    targetAssociation->setEndA(association->endA());
    targetAssociation->setEndB(association->endB());
}
Пример #2
0
void MDependency::setTarget(const Uid &target)
{
    if (_direction == B_TO_A) {
        setEndA(target);
    } else {
        setEndB(target);
    }
}
Пример #3
0
void MDependency::setSource(const Uid &source)
{
    if (_direction == B_TO_A) {
        setEndB(source);
    } else {
        setEndA(source);
    }
}
Пример #4
0
void DUpdateVisitor::visitMAssociation(const MAssociation *association)
{
    auto dassociation = dynamic_cast<DAssociation *>(m_target);
    QMT_CHECK(dassociation);
    DAssociationEnd endA;
    endA.setName(association->endA().name());
    endA.setCardinatlity(association->endA().cardinality());
    endA.setNavigable(association->endA().isNavigable());
    endA.setKind(association->endA().kind());
    if (isUpdating(endA != dassociation->endA()))
        dassociation->setEndA(endA);
    DAssociationEnd endB;
    endB.setName(association->endB().name());
    endB.setCardinatlity(association->endB().cardinality());
    endB.setNavigable(association->endB().isNavigable());
    endB.setKind(association->endB().kind());
    if (isUpdating(endB != dassociation->endB()))
        dassociation->setEndB(endB);
    visitMRelation(association);
}
Пример #5
0
void MInheritance::setDerived(const Uid &derived)
{
    setEndA(derived);
}