View Javadoc

1   package cz.cuni.amis.pogamut.base.agent.impl;
2   
3   import com.google.inject.Inject;
4   
5   import cz.cuni.amis.pogamut.base.agent.IAgentId;
6   import cz.cuni.amis.pogamut.base.agent.IEmbodiedAgent;
7   import cz.cuni.amis.pogamut.base.communication.command.IAct;
8   import cz.cuni.amis.pogamut.base.communication.worldview.IWorldView;
9   import cz.cuni.amis.pogamut.base.component.bus.IComponentBus;
10  import cz.cuni.amis.pogamut.base.utils.guice.AgentScoped;
11  import cz.cuni.amis.pogamut.base.utils.logging.IAgentLogger;
12  import cz.cuni.amis.utils.NullCheck;
13  
14  @AgentScoped
15  public abstract class AbstractEmbodiedAgent<WORLD_VIEW extends IWorldView, ACT extends IAct> extends AbstractGhostAgent<WORLD_VIEW, ACT> implements IEmbodiedAgent {
16  	
17  	private ACT act;
18  
19  	@Inject
20  	public AbstractEmbodiedAgent(IAgentId agentId, IComponentBus bus, IAgentLogger logger, WORLD_VIEW worldView, ACT act) {
21  		super(agentId, bus, logger, worldView, act);
22  		this.act = act;
23  		NullCheck.check(this.act, "act");
24  		addDependency(act);
25  	}
26  	
27  	@Override
28  	public ACT getAct() {
29  		return act;
30  	}
31  
32  }