1 package cz.cuni.amis.pogamut.ut2004multi.communication.worldview;
2
3 import java.util.Collection;
4 import java.util.logging.Logger;
5
6 import com.google.inject.Inject;
7
8 import cz.cuni.amis.pogamut.base.communication.translator.event.IWorldChangeEvent;
9 import cz.cuni.amis.pogamut.base.communication.worldview.object.WorldObjectId;
10 import cz.cuni.amis.pogamut.base.utils.guice.AgentTeamScoped;
11 import cz.cuni.amis.pogamut.multi.agent.ITeamId;
12 import cz.cuni.amis.pogamut.multi.communication.worldview.impl.BatchAwareSharedWorldView;
13 import cz.cuni.amis.pogamut.multi.communication.worldview.object.ISharedProperty;
14 import cz.cuni.amis.pogamut.multi.communication.worldview.object.ISharedWorldObject;
15 import cz.cuni.amis.pogamut.multi.utils.timekey.TimeKey;
16 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.EndMessage;
17 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.UT2004SharedObjectCreator;
18
19 @AgentTeamScoped
20
21
22
23
24 public class UT2004BatchAwareSharedWorldView extends BatchAwareSharedWorldView{
25
26 @Inject
27 public UT2004BatchAwareSharedWorldView(Logger logger) {
28 super(logger);
29 }
30
31 @Override
32 protected boolean isBatchEndEvent(IWorldChangeEvent event) {
33 return event instanceof EndMessage;
34 }
35
36 @Override
37 protected ISharedWorldObject createSharedObject(Class msgClass,
38 WorldObjectId id, ITeamId teamId, TimeKey time)
39 {
40
41 Collection<ISharedProperty> properties = this.getSharedProperties(id, teamId, time);
42 return UT2004SharedObjectCreator.create( msgClass , id , properties);
43 }
44
45
46 }