FileWriterASCIIVOTable.hh
5.05 KB
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
/**
* 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 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_ */