/// <summary> /// Writes introductory line to the class file. /// </summary> /// <param name="umlClass"> Object containing information about the class. </param> /// <returns></returns> public override StringBuilder writeBeginning_Specify(UML_BaseExtension umlClass) { StringBuilder sb = new StringBuilder(); // First line: acess modifier if (umlClass.accessModifier != null) { sb.Append($"{umlClass.accessModifier} "); } // First line: of extra keyword is set if (!umlClass.extraKeyword.Equals("")) { sb.Append($"{umlClass.extraKeyword} "); } // First line: rest sb.Append($"class {umlClass.name}"); // Append parents, interfaces writeBeginning_appendElements(sb, (UML_Class)umlClass); // Return StringBuilder return(sb); }
/// <summary> /// Writes introductory line to the interface file. /// </summary> /// <param name="umlInterface"> Object containing information about the interface. </param> /// <returns></returns> public override StringBuilder writeBeginning_Specify(UML_BaseExtension umlInterface) { // Write beginning StringBuilder sb = new StringBuilder($"interface {umlInterface.name}"); // Return StringBuilder return(sb); }
// Constructor public BaseGenerator(StreamWriter outputFile, UML_BaseExtension classOrInterface) { this.outputFile = outputFile; this.classOrInterface = classOrInterface; // Determine object type this.isClass = classOrInterface.GetType() == typeof(UML_Class) ? true : false; }
// Constructor public ClassGenerator(StreamWriter outputFile, UML_BaseExtension umlClass) : base(outputFile, umlClass) { }
// Constructor public InterfaceGenerator(StreamWriter outputFile, UML_BaseExtension classOrInterface) : base(outputFile, classOrInterface) { }
// To be overwritten in inheriting classes public virtual StringBuilder writeBeginning_Specify(UML_BaseExtension classOrInterface) { return(new StringBuilder()); }