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);
}
}