CMS 3D CMS Logo

DataPointDefinition.h
Go to the documentation of this file.
1 /*
2  * DataPointDefinition.h
3  *
4  * Created on: Sep 24, 2012
5  * Author: aspataru
6  */
7 
8 #ifndef DATAPOINTDEFINITION_H_
9 #define DATAPOINTDEFINITION_H_
10 
13 #include <string>
14 #include <vector>
15 
16 namespace jsoncollector {
17 
18  class JsonMonConfig;
19 
21  public:
23 
24  //DataPointDefinition(std::string const& prefix) : namePrefix_(prefix) {}
25  //DataPointDefinition(const std::vector<std::string>& names, const std::vector<std::string>& operations);
26 
27  ~DataPointDefinition() override {}
28 
32  void serialize(Json::Value& root) const override;
36  void deserialize(Json::Value& root) override;
40  bool isPopulated() const;
44  std::vector<std::string> const& getNames() { return varNames_; }
45  std::vector<std::string> const& getOperations() { return opNames_; }
46 
50  static bool getDataPointDefinitionFor(std::string& defFilePath,
52  const std::string* defaultGroup = nullptr);
53 
55 
56  void addLegendItem(std::string const& name, std::string const& type, std::string const& operation);
57 
58  OperationType getOperationFor(unsigned int index);
59 
61  //void populateMonConfig(std::vector<JsonMonConfig>& monConfig);
62 
63  //known JSON operation names
64  static const std::string SUM;
65  static const std::string AVG;
66  static const std::string SAME;
67  static const std::string HISTO;
68  static const std::string CAT;
69  static const std::string MERGE;
70  static const std::string BINARYOR;
71  static const std::string ADLER32;
72 
73  // JSON field names
74  static const std::string LEGEND;
75  static const std::string DATA;
76  static const std::string PARAM_NAME;
77  static const std::string OPERATION;
78  static const std::string TYPE;
79 
80  private:
81  std::vector<std::string> varNames_;
82  std::vector<std::string> typeNames_;
83  std::vector<std::string> opNames_;
86 
87  // std::string namePrefix_;
88  };
89 } // namespace jsoncollector
90 
91 #endif /* DATAPOINTDEFINITION_H_ */
type
Definition: HCALResponse.h:21
void addLegendItem(std::string const &name, std::string const &type, std::string const &operation)
OperationType getOperationFor(unsigned int index)
static const std::string PARAM_NAME
Represents a JSON value.
Definition: value.h:99
std::vector< std::string > const & getOperations()
static bool getDataPointDefinitionFor(std::string &defFilePath, DataPointDefinition *dpd, const std::string *defaultGroup=nullptr)
std::vector< std::string > varNames_
void serialize(Json::Value &root) const override
std::vector< std::string > typeNames_
static const std::string OPERATION
std::vector< std::string > const & getNames()
void deserialize(Json::Value &root) override
void setDefaultGroup(std::string const &group)
std::vector< std::string > opNames_