View Javadoc

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    * Default world object event implementation wrapping some object inside the event.
10   * @author ik
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  }