Blame view

src/ParamOutputImpl/Download/FileWriterASCIIVOTable.hh 5.24 KB
fbe3c2bb   Benjamin Renard   First commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
 * 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
	 */
4f3abe6a   Benjamin Renard   Give the possibil...
41
	virtual bool isInfoInSeparateFile(bool  separateInfoFile , bool onlyOneInterval, OutputStructure outputStructure);
fbe3c2bb   Benjamin Renard   First commit
42
43
44
45
46
47
48
49
50
51
52
53

	/*
	 * @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);

	/*
9d8ec7d4   Benjamin Renard   Define a specific...
54
55
56
57
58
	 * @overload FileWriterASCIIAbstract::getDataFillCharacter Method to get string representation of a Not A Number
	 */
        virtual std::string getNanString(void);

	/*
fbe3c2bb   Benjamin Renard   First commit
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
	 * @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);
8bed959f   Benjamin Renard   Trim data value i...
152
153
154
155
156
        
        /*
         * @overload FileWriterASCIIAbstract::trimData  method used to know if data must be trimmed
         */
        virtual bool trimData(void);
fbe3c2bb   Benjamin Renard   First commit
157
158
159
160
161
162
163
164
165
166
167
168
169
170

	/*
	 * @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_ */