CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
JsonMonitorable.h
Go to the documentation of this file.
1 /*
2  * JsonMonitorable.h
3  *
4  * Created on: Oct 29, 2012
5  * Author: aspataru
6  */
7 
8 #ifndef JSON_MONITORABLE_H
9 #define JSON_MONITORABLE_H
10 
11 #include <string>
12 #include <sstream>
13 
14 using std::string;
15 using std::stringstream;
16 
17 namespace jsoncollector {
18 
20 
21 public:
22  virtual ~JsonMonitorable() {
23  }
24  ;
25  virtual string toString() const = 0;
26  string& getName() {
27  return varName_;
28  }
29  void setName(string name) {
30  varName_ = name;
31  }
32 
33 private:
34  string varName_;
35 
36 };
37 
38 class IntJ: public JsonMonitorable {
39 
40 public:
41  IntJ() {
42  theVar_ = 0;
43  }
44  IntJ(int initVal) {
45  theVar_ = initVal;
46  }
47  IntJ(const IntJ& other) {
48  theVar_ = other.theVar_;
49  }
50  virtual ~IntJ() {
51  }
52 
53  virtual string toString() const {
54  stringstream ss;
55  ss << theVar_;
56  return ss.str();
57  }
58 
59  void operator=(int sth) {
60  theVar_ = sth;
61  }
62 
63  int& value() {
64  return theVar_;
65  }
66 
67 private:
68  int theVar_;
69 };
70 
71 class StringJ: public JsonMonitorable {
72 
73 public:
74  StringJ() {
75  theVar_ = "";
76  }
77  StringJ(string initVal) {
78  theVar_ = initVal;
79  }
80  StringJ(const StringJ& other) {
81  theVar_ = other.theVar_;
82  }
83  virtual ~StringJ() {
84  }
85 
86  virtual string toString() const {
87  return theVar_;
88  }
89 
90  void operator=(string sth) {
91  theVar_ = sth;
92  }
93 
94  string& value() {
95  return theVar_;
96  }
97 
98 private:
99  string theVar_;
100 };
101 
102 class DoubleJ: public JsonMonitorable {
103 
104 public:
106  theVar_ = 0.0;
107  }
108  DoubleJ(double initVar) {
109  theVar_ = initVar;
110  }
111  DoubleJ(const DoubleJ& other) {
112  theVar_ = other.theVar_;
113  }
114  virtual ~DoubleJ() {
115  }
116 
117  virtual string toString() const {
118  stringstream ss;
119  ss << theVar_;
120  return ss.str();
121  }
122 
123  void operator=(double sth) {
124  theVar_ = sth;
125  }
126 
127  double& value() {
128  return theVar_;
129  }
130 
131 private:
132  double theVar_;
133 };
134 }
135 
136 #endif
IntJ(const IntJ &other)
virtual string toString() const
virtual string toString() const
DoubleJ(double initVar)
void operator=(int sth)
virtual string toString() const =0
void operator=(string sth)
void operator=(double sth)
DoubleJ(const DoubleJ &other)
StringJ(string initVal)
StringJ(const StringJ &other)
virtual string toString() const