public virtual void Process(Type @class, TPrinter printer) { // NOTE: CHANGE IT!!! AssemblySelector selector = AssemblySelector.Get(@class.Assembly); ClassInclude defaultClassInclude = selector.GetClassInclude(@class, printer.Diagram); ClassSelector classSelector = ClassSelector.Get(@class, defaultClassInclude); printer.BeginClass(ModelUtils.ToClassType(@class), PlantUmlUtils.GetSimpleName(@class), PlantUmlUtils.GetGenerics(@class), PlantUmlUtils.GetStereotypes(@class)?.ToArray()); this.ProcessMembersIfChecked(classSelector, ModelUtils.GetConstructors(@class), printer); this.ProcessMembersIfChecked(classSelector, ModelUtils.GetMethods(@class), printer); this.ProcessMembersIfChecked(classSelector, ModelUtils.GetProperties(@class), printer); this.ProcessMembersIfChecked(classSelector, ModelUtils.GetEvents(@class), printer); this.ProcessMembersIfChecked(classSelector, ModelUtils.GetFields(@class), printer); printer.EndClass(); //this.ProcessNestedIfChecked(classSelector, ModelUtils.GetNestedTypes(@class), printer); this.ProcessMembersIfChecked(classSelector, ModelUtils.GetGeneralizations(@class), printer); this.ProcessMembersIfChecked(classSelector, ModelUtils.GetAssociations(@class), printer); this.ProcessMembersIfChecked(classSelector, ModelUtils.GetDependencies(@class), printer); }
public virtual void Process(Generalization generalization, TPrinter printer) { LinePattern pattern = LinePattern.Solid; if (generalization.General.IsInterface && generalization.Specific.IsClass) { pattern = LinePattern.Dotted; } printer.PrintGeneralization( PlantUmlUtils.GetSimpleName(generalization.General), PlantUmlUtils.GetSimpleName(generalization.Specific), generalization.Name, 2, pattern); }