/// <summary> /// Returns an attribute with the given name. Throws an exception if not found. /// </summary> /// <param name="designModel"></param> /// <param name="name"></param> /// <returns></returns> public static IClassAttribute GetAttribute(this IClassModel designModel, string name) { var attribute = designModel.Attributes.FirstOrDefault(x => x.Name == name); if (attribute == null) { throw new ParseException(((IDesignModel)designModel).ParseLocation, $"Attribute '{name}' not found in design model '{designModel.FullyQualifiedName}'"); } return(attribute); }
/// <summary> /// Returns an outgoing relation with the given name. Throws an exception if not found. /// </summary> /// <param name="designModel"></param> /// <param name="name"></param> /// <returns></returns> public static IClassRelation GetOutgoingRelation(this IClassModel designModel, string name) { var relation = designModel.OutgoingRelations.FirstOrDefault(x => x.Name == name); if (relation == null) { throw new ParseException(((IDesignModel)designModel).ParseLocation, $"Relation '{name}' not found in design model '{designModel.FullyQualifiedName}'"); } return(relation); }
public virtual IClassRelation CloneRelation(IClassRelation sourceRelation, IClassModel destinationClassModel, IParseLocationInfo parseLocation) { var relation = new ClassRelation(sourceRelation.Name, parseLocation: parseLocation); relation.CopyPropertiesFrom(sourceRelation, parseLocation); relation.Destination = destinationClassModel; AddOutgoingRelation(relation); destinationClassModel.AddIncomingRelation(relation); return(relation); }
public static void Resolve(this ClassRelationReference reference, IClassModel classModel) { if (reference.Target != null) { return; } var relation = classModel.OutgoingRelations.FirstOrDefault(x => x.Name == reference.Name); if (relation == null) { throw new ParseException(reference.ParseLocation, $"Relation '{reference.Name}' not found from class model '{classModel.FullyQualifiedName}'."); } reference.Target = relation; }
public static void Resolve(this ClassAttributeReference reference, IClassModel classModel) { if (reference.Target != null) { return; } var attribute = classModel.Attributes.FirstOrDefault(x => x.Name == reference.Name); if (attribute == null) { throw new ParseException(reference.ParseLocation, $"Attribute '{reference.Name}' not found from class model '{classModel.FullyQualifiedName}'."); } reference.Target = attribute; }
public StubClassFileTemplate(IClassModel classModel, IClassTemplate classTemplate) : base(classModel, classTemplate) { }
public static ClassRelationReference CreateRelationReference(this IClassModel classModel, string relationName, IParseLocationInfo parseLocation) { return(new ClassRelationReference(relationName, parseLocation)); }
public static ClassAttributeReference CreateAttributeReference(this IClassModel classModel, string attributeName, IParseLocationInfo parseLocation = null) { var designModel = (IDesignModel)classModel; return(new ClassAttributeReference(attributeName, parseLocation ?? designModel.ParseLocation)); }
public static ClassModelReference CreateClassModelReference(this IClassModel classModel, IParseLocationInfo parseLocation = null) { var designModel = (IDesignModel)classModel; return(new ClassModelReference(designModel.Name, designModel.Namespace, designModel.DesignModelType, parseLocation ?? designModel.ParseLocation)); }
public ProtoClassFileTemplate(IClassModel classModel, IClassTemplate classTemplate) : base(classModel, classTemplate) { }
public CSharpClassFileTemplate(IClassModel classModel, IClassTemplate classTemplate) : base(classModel, classTemplate) { }
protected ClassFileTemplate(IClassModel classModel, IClassTemplate classTemplate) { ClassModel = classModel; ClassTemplate = classTemplate; }
public static ClassDerivation GetClassDerivationData(this IClassModel classModel) { classModel.CustomData.TryGetValue(nameof(ClassDerivation), out var res); return((ClassDerivation)res); }
public static void SetClassDerivationData(this IClassModel classModel, ClassDerivation data) { classModel.CustomData[nameof(ClassDerivation)] = data; }
public static ClassMapping GetClassMappingData(this IClassModel classModel) { classModel.CustomData.TryGetValue(nameof(ClassMapping), out var res); return((ClassMapping)res); }
public static void SetClassMappingData(this IClassModel classModel, ClassMapping data) { classModel.CustomData[nameof(ClassMapping)] = data; }