1 package cz.cuni.amis.pogamut.ut2004.component;
2
3 import cz.cuni.amis.pogamut.base.component.IComponent;
4 import cz.cuni.amis.pogamut.base.component.bus.IComponentBus;
5 import cz.cuni.amis.pogamut.base.component.controller.ComponentControlHelper;
6 import cz.cuni.amis.pogamut.base.component.controller.ComponentController;
7 import cz.cuni.amis.pogamut.base.component.controller.ComponentDependencyType;
8 import cz.cuni.amis.pogamut.base.utils.logging.IAgentLogger;
9 import cz.cuni.amis.pogamut.base.utils.logging.LogCategory;
10 import cz.cuni.amis.utils.token.IToken;
11 import cz.cuni.amis.utils.token.Token;
12 import cz.cuni.amis.utils.token.Tokens;
13
14 public class ComponentStub implements IComponent {
15
16 private static int num = 0;
17
18 private ComponentController controller;
19
20 private Token token;
21
22 private LogCategory log;
23
24 public ComponentStub(IAgentLogger logger, IComponentBus bus) {
25 this.token = Tokens.get("ComponentStub" + (++num));
26 this.log = logger.getCategory(this);
27 this.controller = new ComponentController(this, new ComponentControlHelper(), bus, log, ComponentDependencyType.STARTS_WITH);
28 }
29
30 @Override
31 public IToken getComponentId() {
32 return token;
33 }
34
35 public ComponentController getController() {
36 return controller;
37 }
38
39 }