1 package cz.cuni.amis.pogamut.ut2004.teamcomm.mina.messages;
2
3 import java.io.ObjectInputStream;
4 import java.io.Serializable;
5
6 import cz.cuni.amis.pogamut.base.communication.translator.event.IWorldChangeEvent;
7 import cz.cuni.amis.pogamut.base.communication.worldview.event.IWorldEvent;
8 import cz.cuni.amis.pogamut.ut2004.teamcomm.bot.UT2004TCClient;
9 import cz.cuni.amis.utils.token.IToken;
10 import cz.cuni.amis.utils.token.Tokens;
11
12 public class TCMessageData implements IWorldChangeEvent, IWorldEvent, Serializable {
13
14
15
16
17 private static final long serialVersionUID = -8784475440806886083L;
18
19 private long simTime;
20
21 private IToken messageType;
22
23 public TCMessageData() {
24 this.simTime = 0;
25 }
26
27 @SuppressWarnings("unused")
28 private void readObject(ObjectInputStream ois) {
29 try {
30 ois.defaultReadObject();
31 if (this.messageType != null) {
32 this.messageType = Tokens.get(this.messageType.getToken());
33 }
34 } catch (RuntimeException re) {
35 throw re;
36 } catch (Exception e) {
37 throw new RuntimeException("Failed to deserialize the object.", e);
38 }
39 }
40
41 public TCMessageData(long simTime) {
42 this.simTime = simTime;
43 }
44
45 public TCMessageData(IToken messageType, long simTime) {
46 this.messageType = messageType;
47 this.simTime = simTime;
48 }
49
50 public IToken getMessageType() {
51 return messageType;
52 }
53
54 public void setMessageType(IToken messageType) {
55 this.messageType = messageType;
56 }
57
58 @Override
59 public long getSimTime() {
60 return simTime;
61 }
62
63
64
65
66
67
68 public void setSimTime(long simTime) {
69 this.simTime = simTime;
70 }
71
72 }