public static string Create(UMLClassDiagram classDiagram) { StringBuilder sb = new(); using (TextWriter tw = new StringWriter(sb, CultureInfo.InvariantCulture)) { ClassDiagramGenerator.Create(classDiagram, tw); } return(sb.ToString()); }
public void ClassDiagram1() { UMLInterface i1 = new("", "i1", new List <UMLDataType>()); UMLClass class2 = new("", "ns", true, "c1", null, i1); class2.Properties.Add(new UMLProperty("prop1", i1, UMLVisibility.Public, ListTypes.List, false, false, false)); i1.Methods.Add(new UMLMethod("Method1", new VoidDataType(), UMLVisibility.Public, new UMLParameter("parm1", new StringDataType()))); class2.Methods.Add(new UMLMethod(class2, UMLVisibility.Public)); class2.Methods.Add(new UMLMethod("Method1", new IntDataType(), UMLVisibility.Public, new UMLParameter("parm1", new StringDataType()))); UMLClassDiagram d = new UMLClassDiagram("test", ""); d.DataTypes.Add(i1); d.DataTypes.Add(class2); _ = PlantUMLGenerator.Create(d); }
public static void Create(UMLClassDiagram classDiagram, TextWriter writer) { writer.WriteLine("@startuml"); writer.Write("title "); writer.WriteLine(classDiagram.Title); StringBuilder postWriter = new(); Write(classDiagram.Package.Children, writer, postWriter, classDiagram.DataTypes); writer.Write(postWriter.ToString()); writer.WriteLine(); foreach (var nc in classDiagram.NoteConnections) { writer.Write(nc.First); writer.Write(' '); writer.Write(nc.Connector); writer.Write(' '); writer.WriteLine(nc.Second); } writer.WriteLine("@enduml"); }
public async Task ClassDiagramRead1() { UMLInterface i1 = new("", "i1", new List <UMLDataType>()); UMLClass class2 = new("", "ns", true, "c1", null, i1); class2.Properties.Add(new UMLProperty("prop1", i1, UMLVisibility.Public, ListTypes.List, false, false, false)); i1.Methods.Add(new UMLMethod("Method1", new VoidDataType(), UMLVisibility.Public, new UMLParameter("parm1", new StringDataType()), new UMLParameter("parm2", new BoolDataType()), new UMLParameter("parm3", new StringDataType(), ListTypes.IReadOnlyCollection))); class2.Methods.Add(new UMLMethod(class2, UMLVisibility.Public)); class2.Methods.Add(new UMLMethod("Method1", new IntDataType(), UMLVisibility.Public, new UMLParameter("parm1", new StringDataType()))); UMLClassDiagram d = new UMLClassDiagram("test", ""); d.DataTypes.Add(i1); d.DataTypes.Add(class2); string s = PlantUMLGenerator.Create(d); _ = await UMLClassDiagramParser.ReadString(s); }