1 package cz.cuni.amis.pogamut.base.communication.worldview.object.event;
2
3 import cz.cuni.amis.pogamut.base.communication.worldview.object.IWorldObject;
4 import cz.cuni.amis.pogamut.base.communication.worldview.object.IWorldObjectEvent;
5 import cz.cuni.amis.pogamut.base.communication.worldview.object.WorldObjectId;
6 import cz.cuni.amis.utils.NullCheck;
7
8
9
10
11
12 public class WorldObjectEvent<T extends IWorldObject> implements IWorldObjectEvent<T> {
13
14 private T object;
15 private long simTime;
16
17 public WorldObjectEvent(T object, long simTime) {
18 NullCheck.check(object, "object");
19 this.object = object;
20 this.simTime = simTime;
21 }
22
23 @Override
24 public WorldObjectId getId() {
25 if (object == null) return null;
26 return object.getId();
27 }
28
29 @Override
30 public T getObject() {
31 return object;
32 }
33
34 @Override
35 public long getSimTime() {
36 return simTime;
37 }
38
39
40 @Override
41 public String toString() {
42 return getClass().getSimpleName() + "[id = " + (getId() == null ? "null" : getId().getStringId()) + ", object = " + getObject() + ", time=" + getSimTime() + "]";
43 }
44
45 }