public override string ToUmlCode(int padding = 0)
{
string paddingStr = String.Concat(Enumerable.Repeat(" ", padding));
List <string> lines = new List <string> ();
lines.AddRange(Comments.PrintComments(commentsKey, paddingStr));
string nameWithPackage = Packages.IsInPackage(name) ? Packages.GetPackage(name) + "." + name : name;
lines.Add(
paddingStr + Publicity.ToCode("", " ") + Virtuality.ToCode("", " ") + type.ToCode("", " ")
+ nameWithPackage
+ " : " + string.Join(", ", bases)
);
lines.Add(paddingStr + " Attributes:");
foreach (IUmlObject obj in Content)
{
if (obj is UmlAttribute)
{
lines.Add(obj.ToUmlCode(padding + 4));
}
}
lines.Add(paddingStr + " Methods:");
foreach (IUmlObject obj in Content)
{
if (!(obj is UmlAttribute))
{
lines.Add(obj.ToUmlCode(padding + 4));
}
}
return(string.Join("\n", lines));
}