View Javadoc

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  	 * Auto-generated.
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  	 * INJECTOR - To be used (auto-filled) by {@link UT2004TCClient} only !!!
65  	 * 
66  	 * @param simTime
67  	 */
68  	public void setSimTime(long simTime) {
69  		this.simTime = simTime;
70  	}
71  
72  }