/** * FileWriterASCIIVOTable.hh * * Created on: 21 oct. 2014 * Author: AKKA */ #ifndef FILEWRITERASCIIVOTABLE_HH_ #define FILEWRITERASCIIVOTABLE_HH_ #include "FileWriterASCIIAbstract.hh" namespace AMDA { namespace ParamOutputImpl { namespace Download { namespace FileWriter { using namespace AMDA::Info; /** * @class FileWriterASCIIVOTable * @brief Implementation of FileWriterASCIIAbstract for VOTable V1.3 file format. * @details */ class FileWriterASCIIVOTable : public FileWriterASCIIAbstract { public: /* * @brief Constructor */ FileWriterASCIIVOTable(AMDA::Parameters::ParameterManager& pParameterManager); /* * @brief Destructor */ virtual ~FileWriterASCIIVOTable(void); /* * @overload FileWriter::isInfoInSeparateFile Function use to know if info must be write in a separate file */ virtual bool isInfoInSeparateFile(bool separateInfoFile , bool onlyOneInterval, OutputStructure outputStructure); /* * @overload FileWriterASCIIAbstract::getExtension - Method to get file format extension for votable format */ virtual std::string getExtension(void); /* * @overload FileWriterASCIIAbstract::getDataFillCharacter Method to get fill character to use for votable 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 votable format */ virtual void writeBeginFile(void); /* * @overload FileWriterASCIIAbstract::writeEndFile method to write end file tag for votable format */ virtual void writeEndFile(void); /* * @overload FileWriterASCIIAbstract::writeBeginGeneralDescription method to write begin description tag for votable format */ virtual void writeBeginGeneralDescription(void); /* * @overload FileWriterASCIIAbstract::writeEndGeneralDescription method to write end description tag for votable format */ virtual void writeEndGeneralDescription(void); /* * @overload FileWriterASCIIAbstract::writeErrorInfo method to write an error message for votable format */ virtual void writeErrorInfo(std::string msg); /* * @overload FileWriterASCIIAbstract::writeBeginInfoGroup method to write begin info group tag with a title for votable format */ virtual void writeBeginInfoGroup(std::string title, int level); /* * @overload FileWriterASCIIAbstract::writeEndInfoGroup method to write end info group tag with a title for votable format */ virtual void writeEndInfoGroup(int level); /* * @overload FileWriterASCIIAbstract::writeSingleInfo method to write an info designated by a key and a value for votable 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 votable format */ virtual void writeBeginInfoList(std::string title, int level); /* * @overload FileWriterASCIIAbstract::writeEndInfoList method to write end info list tag with a title for votable format */ virtual void writeEndInfoList(void); /* * @overload FileWriterASCIIAbstract::writeBeginFieldsDescription method to write begin info fields description tag for votable format */ virtual void writeBeginFieldsDescription(void); /* * @overload FileWriterASCIIAbstract::writeEndFieldsDescription method to write end info fields description tag for votable format */ virtual void writeEndFieldsDescription(void); /* * @overload FileWriterASCIIAbstract::writeFieldDescription method to write a field description by parameter id for votable format */ virtual void writeFieldDescription(std::string paramId); /* * @overload FileWriterASCIIAbstract::writeBeginData method to write begin data tag for votable format */ virtual void writeBeginData(void); /* * @overload FileWriterASCIIAbstract::writeEndData method to write end data tag for votable format */ virtual void writeEndData(void); /* * @overload FileWriterASCIIAbstract::writeDataRecord method to write a data record for votable format */ virtual void writeDataRecord(std::string record); /* * @overload FileWriterASCIIAbstract::getDataStartTag method to get data start tag for votable format */ virtual std::string getDataStartTag(bool isTimeData); /* * @overload FileWriterASCIIAbstract::getDataStopTag method to get data stop tag for votable format */ virtual std::string getDataStopTag(void); /* * @overload FileWriterASCIIAbstract::getDataValueSeparator method to get data value separator for votable format */ virtual std::string getDataValueSeparator(void); /* * @overload FileWriterASCIIAbstract::writeTimeData - Write a time data in the ASCII file - Fot VOTable, only ISO time is available */ virtual bool writeTimeData(std::string paramId, double data, OutputFormatTime timeFormat, bool isFirstParam); }; } /* namespace FileWriter */ } /* namespace Download */ } /* namespace ParamOutputImpl */ } /* namespace AMDA */ #endif /* FILEWRITERASCIIVOTABLE_HH_ */