/** * FileWriterASCIITabular.hh * * Created on: 21 oct. 2014 * Author: AKKA */ #ifndef FILEWRITERASCIITABULAR_HH_ #define FILEWRITERASCIITABULAR_HH_ #include "FileWriterASCIIAbstract.hh" namespace AMDA { namespace ParamOutputImpl { namespace Download { namespace FileWriter { using namespace AMDA::Info; /** * @class FileWriterASCIITabular * @brief Implementation of FileWriterASCIIAbstract for ASCII Tabular file format. * @details */ class FileWriterASCIITabular : public FileWriterASCIIAbstract { public: /* * @brief Constructor */ FileWriterASCIITabular(AMDA::Parameters::ParameterManager& pParameterManager); /* * @brief Destructor */ virtual ~FileWriterASCIITabular(void); /* * @overload FileWriterASCIIAbstract::getExtension - Method to get file format extension for tabular format */ virtual std::string getExtension(void); /* * @overload FileWriterASCIIAbstract::getDataFillCharacter Method to get fill character to use for tabular format */ virtual std::string getDataFillCharacter(void); /* * @overload FileWriterASCIIAbstract::getDataFillCharacter Method to get string representation of a Not A Number */ virtual std::string getNanString(void); /* * @overload FileWriterASCIIAbstract::writeBeginFile method to write begin file tag for tabular format */ virtual void writeBeginFile(void); /* * @overload FileWriterASCIIAbstract::writeEndFile method to write end file tag for tabular format */ virtual void writeEndFile(void); /* * @overload FileWriterASCIIAbstract::writeBeginGeneralDescription method to write begin description tag for tabular format */ virtual void writeBeginGeneralDescription(void); /* * @overload FileWriterASCIIAbstract::writeEndGeneralDescription method to write end description tag for tabular format */ virtual void writeEndGeneralDescription(void); /* * @overload FileWriterASCIIAbstract::writeErrorInfo method to write an error message for tabular format */ virtual void writeErrorInfo(std::string msg); /* * @overload FileWriterASCIIAbstract::writeBeginInfoGroup method to write begin info group tag with a title for tabular format */ virtual void writeBeginInfoGroup(std::string title, int level); /* * @overload FileWriterASCIIAbstract::writeEndInfoGroup method to write end info group tag with a title for tabular format */ virtual void writeEndInfoGroup(int level); /* * @overload FileWriterASCIIAbstract::writeSingleInfo method to write an info designated by a key and a value for tabular format */ virtual void writeSingleInfo(std::string key, std::string value, int level); /* * @overload FileWriterASCIIAbstract::writeBeginInfoList method to write begin info list tag with a title for tabular format */ virtual void writeBeginInfoList(std::string title, int level); /* * @overload FileWriterASCIIAbstract::writeEndInfoList method to write end info list tag with a title for tabular format */ virtual void writeEndInfoList(void); /* * @overload FileWriterASCIIAbstract::writeBeginFieldsDescription method to write begin info fields description tag for tabular format */ virtual void writeBeginFieldsDescription(void); /* * @overload FileWriterASCIIAbstract::writeEndFieldsDescription method to write end info fields description tag for tabular format */ virtual void writeEndFieldsDescription(void); /* * @overload FileWriterASCIIAbstract::writeFieldDescription method to write a field description by parameter id for tabular format */ virtual void writeFieldDescription(std::string paramId); /* * @overload FileWriterASCIIAbstract::writeBeginData method to write begin data tag for tabular format */ virtual void writeBeginData(void); /* * @overload FileWriterASCIIAbstract::writeEndData method to write end data tag for tabular format */ virtual void writeEndData(void); /* * @overload FileWriterASCIIAbstract::writeDataRecord method to write a data record for tabular format */ virtual void writeDataRecord(std::string record); /* * @overload FileWriterASCIIAbstract::getDataStartTag method to get data start tag for tabular format */ virtual std::string getDataStartTag(bool isTimeData); /* * @overload FileWriterASCIIAbstract::getDataStopTag method to get data stop tag for tabular format */ virtual std::string getDataStopTag(void); /* * @overload FileWriterASCIIAbstract::getDataValueSeparator method to get data value separator for tabular format */ virtual std::string getDataValueSeparator(void); /* * @overload FileWriterASCIIAbstract::trimData method used to know if data must be trimmed */ virtual bool trimData(void); }; } /* namespace FileWriter */ } /* namespace Download */ } /* namespace ParamOutputImpl */ } /* namespace AMDA */ #endif /* FILEWRITERASCIITABULAR_HH_ */