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.agent.params.UT2004AgentParameters;
7   import cz.cuni.amis.pogamut.ut2004.server.IUT2004Server;
8   
9   /**
10   * Guice-base {@link IUT2004Server} factory. It needs {@link UT2004ServerModule} to work correctly and the module is required
11   * to bound {@link IAgent} to the {@link IUT2004Server}, otherwise the method {@link UT2004ServerFactory#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 UT2004ServerFactory<SERVER extends IUT2004Server, PARAMS extends UT2004AgentParameters> extends GuiceAgentFactory<SERVER, PARAMS> {
22  
23  	public UT2004ServerFactory(UT2004ServerModule agentModule) {
24  		super(agentModule);
25  	}
26  	
27  	@Override
28  	protected UT2004ServerModule getAgentModule() {
29  		return (UT2004ServerModule) super.getAgentModule();
30  	}
31  
32  }