View Javadoc

1   package cz.cuni.amis.pogamut.ut2004.factory.guice.remoteagent;
2   
3   import cz.cuni.amis.pogamut.base.agent.IAgent;
4   import cz.cuni.amis.pogamut.base.agent.params.IRemoteAgentParameters;
5   import cz.cuni.amis.pogamut.base.factory.guice.GuiceAgentFactory;
6   import cz.cuni.amis.pogamut.ut2004.bot.IUT2004Bot;
7   import cz.cuni.amis.pogamut.ut2004.bot.params.UT2004BotParameters;
8   
9   /**
10   * Guice-base {@link IUT2004Bot} factory. It needs {@link UT2004BotModule} to work correctly and the module is required
11   * to bound {@link IAgent} to the {@link IUT2004Bot}, otherwise the method {@link UT2004BotFactory#newAgent(IRemoteAgentParameters)}
12   * will throw {@link ClassCastException}.
13   * <p><p>
14   * For more info about the factory, see {@link GuiceAgentFactory}.
15   *
16   * @author Jimmy
17   *
18   * @param <BOT>
19   * @param <PARAMS>
20   */
21  public class UT2004BotFactory<BOT extends IUT2004Bot, PARAMS extends UT2004BotParameters> extends GuiceAgentFactory<BOT, PARAMS> {
22  
23  	public UT2004BotFactory(UT2004BotModule<PARAMS> agentModule) {
24  		super(agentModule);
25  	}
26  	
27  	@Override
28  	protected UT2004BotModule<PARAMS> getAgentModule() {
29  		return (UT2004BotModule<PARAMS>) super.getAgentModule();
30  	}
31  	
32  }