private QVTRelations.IRelationDomain ConstructPrimitiveRelationDomain(QVTRelations.IRelation relation, EnAr.Connector qvtTransformationLinkConnector, EnAr.Element domainObjectElement) { EssentialOCL.IVariable variable = ConstructVariable(relation, domainObjectElement); QVTRelations.IRelationDomain relationDomain = new QVTRelations.RelationDomain { Name = qvtTransformationLinkConnector.Name, // a primitive domain is supposed not to have a name, but we use it for ordering IsCheckable = true, IsEnforceable = false, //DefaultAssignment = null // TODO? Rule = relation, RootVariable = variable }; relation.Variable.Add(variable); return(relationDomain); }
private QVTRelations.IRelationDomain ConstructNonPrimitiveRelationDomain(QVTRelations.IRelation relation, QVTBase.ITypedModel typedModel, EnAr.Connector qvtTransformationLinkConnector, EnAr.Element domainObjectElement) { //if (domainObjectElement.Stereotype != "domain") // throw new InvalidQVTRelationsModelException("A domain element must have the \"domain\" stereotype", domainObjectElement); // TODO replace by warning? QVTRelations.RelationDomain relationDomain = new QVTRelations.RelationDomain() { Name = qvtTransformationLinkConnector.Name, IsCheckable = true, IsEnforceable = explorer.GetTaggedValue(qvtTransformationLinkConnector, "CEType").ToLower() == "enforce", TypedModel = typedModel, //DefaultAssignment = null // TODO Rule = relation }; QVTRelations.IDomainPattern domainpattern = ConstructDomainPattern(relation, domainObjectElement); relationDomain.Pattern = domainpattern; relationDomain.RootVariable = domainpattern.TemplateExpression.BindsTo; domainpattern.RelationDomain = relationDomain; return(relationDomain); }
/// <summary> /// Creates a new instance /// </summary> public RelationDomainReferencedElementsCollection(RelationDomain parent) { this._parent = parent; }
/// <summary> /// Creates a new instance /// </summary> public RelationDomainChildrenCollection(RelationDomain parent) { this._parent = parent; }