1 package cz.cuni.amis.pogamut.usar2004.communication.messages.usarinfomessages;
2
3 import java.util.*;
4 import cz.cuni.amis.pogamut.base.communication.worldview.event.*;
5 import cz.cuni.amis.pogamut.base.communication.translator.event.*;
6 import cz.cuni.amis.pogamut.usar2004.communication.messages.*;
7 import cz.cuni.amis.pogamut.usar2004.communication.messages.datatypes.CustomTypes.*;
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 public class StateMessage extends GBEvent implements IWorldEvent, IWorldChangeEvent
23 {
24 public StateMessage(String Type, double Time, double FrontSteer, double RearSteer, double SternPlaneAngle, double RudderAngle, boolean LightToggle, int LightIntensity, int Battery)
25 {
26 this.Type = Type;
27 this.Time = Time;
28 this.FrontSteer = FrontSteer;
29 this.RearSteer = RearSteer;
30 this.SternPlaneAngle = SternPlaneAngle;
31 this.RudderAngle = RudderAngle;
32 this.LightToggle = LightToggle;
33 this.LightIntensity = LightIntensity;
34 this.Battery = Battery;
35 }
36
37
38
39 public static final String PROTOTYPE = "STA {Type text} {Time 0} {FrontSteer 0} {RearSteer 0} {SternPlaneAngle 0,0,0} {RudderAngle 0} {LightToggle False} {LightIntensity 0} {Battery 0}";
40
41
42
43
44
45
46 protected String Type = null;
47
48
49
50
51
52
53
54 public String getType()
55 {
56 return Type;
57 }
58
59
60
61 protected double Time = 0;
62
63
64
65
66
67
68 public double getTime()
69 {
70 return Time;
71 }
72 protected double FrontSteer = 0;
73
74
75
76
77
78
79
80 public double getFrontSteer()
81 {
82 return FrontSteer;
83 }
84 protected double RearSteer = 0;
85
86
87
88
89
90
91
92 public double getRearSteer()
93 {
94 return RearSteer;
95 }
96
97 protected double SternPlaneAngle = 0;
98
99
100
101
102
103
104
105 public double getSternPlaneAngle()
106 {
107 return SternPlaneAngle;
108 }
109 protected double RudderAngle = 0;
110
111
112
113
114
115
116
117 public double getRudderAngle()
118 {
119 return RudderAngle;
120 }
121 protected boolean LightToggle = false;
122
123
124
125
126
127
128 public boolean isLightToggle()
129 {
130 return LightToggle;
131 }
132 protected int LightIntensity = 0;
133
134
135
136
137
138
139 public int getLightIntensity()
140 {
141 return LightIntensity;
142 }
143 protected int Battery = 0;
144
145
146
147
148
149
150
151 public int getBattery()
152 {
153 return Battery;
154 }
155
156 protected int View = 0;
157
158
159
160
161
162
163
164 public int getView()
165 {
166 return View;
167 }
168
169 protected Map<String, String> PartsValues = new HashMap<String, String>();
170
171
172
173
174
175
176 public Map<String, String> getPartsValues()
177 {
178 return PartsValues;
179 }
180
181
182
183
184 public StateMessage(StateMessage original)
185 {
186 this.Type = original.Type;
187 this.Time = original.Time;
188 this.FrontSteer = original.FrontSteer;
189 this.RearSteer = original.RearSteer;
190 this.SternPlaneAngle = original.SternPlaneAngle;
191 this.RudderAngle = original.RudderAngle;
192 this.LightToggle = original.LightToggle;
193 this.LightIntensity = original.LightIntensity;
194 this.Battery = original.Battery;
195 this.View = original.View;
196 this.PartsValues.putAll(original.PartsValues);
197 }
198
199
200
201
202
203 public StateMessage()
204 {
205 }
206
207 @Override
208 public String toString()
209 {
210 StringBuilder buf = new StringBuilder();
211 buf.append(super.toString() + " | "
212 + "Type = "
213 + String.valueOf(Type) + " | "
214 + "Time = "
215 + String.valueOf(Time) + " | "
216 + "FrontSteer = "
217 + String.valueOf(FrontSteer) + " | "
218 + "RearSteer = "
219 + String.valueOf(RearSteer) + " | "
220 + "SternPlaneAngle = "
221 + String.valueOf(SternPlaneAngle) + " | "
222 + "RudderAngle = "
223 + String.valueOf(RudderAngle) + " | "
224 + "LightToggle = "
225 + String.valueOf(LightToggle) + " | "
226 + "LightIntensity = "
227 + String.valueOf(LightIntensity) + " | "
228 + "Battery = "
229 + String.valueOf(Battery) + " | "
230 + "View = "
231 + String.valueOf(View) + " | "
232 + "");
233 if(!PartsValues.isEmpty())
234 {
235 Iterator it = PartsValues.entrySet().iterator();
236 while(it.hasNext())
237 {
238 Map.Entry en = (Map.Entry) it.next();
239 buf.append(" ").append(en.getKey()).append(" ").append(en.getValue()).append(",");
240 }
241 buf.append(" | ");
242 }
243
244 return buf.toString();
245
246 }
247
248
249
250
251
252
253 public String toHtmlString()
254 {
255 StringBuilder buf = new StringBuilder();
256 buf.append(super.toString()
257 + "<b>Type</b> : "
258 + String.valueOf(Type)
259 + " <br/> "
260 + "<b>Time</b> : "
261 + String.valueOf(Time)
262 + " <br/> "
263 + "<b>FrontSteer</b> : "
264 + String.valueOf(FrontSteer)
265 + " <br/> "
266 + "<b>RearSteer</b> : "
267 + String.valueOf(RearSteer)
268 + " <br/> "
269 + "<b>SternPlaneAngle</b> : "
270 + String.valueOf(SternPlaneAngle)
271 + " <br/> "
272 + "<b>RudderAngle</b> : "
273 + String.valueOf(RudderAngle)
274 + " <br/> "
275 + "<b>LightToggle</b> : "
276 + String.valueOf(LightToggle)
277 + " <br/> "
278 + "<b>LightIntensity</b> : "
279 + String.valueOf(LightIntensity)
280 + " <br/> "
281 + "<b>Battery</b> : "
282 + String.valueOf(Battery)
283 + " <br/> "
284 + "<b>View</b> : "
285 + String.valueOf(View)
286 + " <br/> "
287 + "");
288
289 if(!PartsValues.isEmpty())
290 {
291 Iterator it = PartsValues.entrySet().iterator();
292 while(it.hasNext())
293 {
294 Map.Entry en = (Map.Entry) it.next();
295 buf.append("<b>").append(en.getKey()).append("</b> : ").append(en.getValue()).append(",");
296 }
297 }
298
299 buf.append(" <br/> ");
300 return buf.toString();
301 }
302 }