using IStation.Epanet.Enums; namespace IStation.Epanet.Network.IO.Output { ///Abstract class with factory for INP and XLSX composers. public abstract class OutputComposer { ///Composer creation method. /// Hydraulic network reference. /// Composer type. /// Composer reference. public static OutputComposer Create(Network net, FileType type) { switch (type) { case FileType.INP_FILE: return new InpComposer(net); } return null; } protected readonly Network _net; /// Hydraulic network reference. protected OutputComposer(Network net) { _net = net; } ///Abstract method to implement the output file creation. /// File name reference. public abstract void Compose(string fileName); } }