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