cz.cuni.amis.pogamut.ut2004.utils
Class UT2004BotRunner<BOT extends IUT2004Bot,PARAMS extends UT2004AgentParameters>

java.lang.Object
  extended by cz.cuni.amis.pogamut.base.agent.utils.runner.impl.AgentRunner<BOT,PARAMS>
      extended by cz.cuni.amis.pogamut.ut2004.utils.UT2004BotRunner<BOT,PARAMS>
Type Parameters:
BOT -
PARAMS -
All Implemented Interfaces:
IAgentRunner<BOT,PARAMS>

public class UT2004BotRunner<BOT extends IUT2004Bot,PARAMS extends UT2004AgentParameters>
extends AgentRunner<BOT,PARAMS>

Class used for creating, connecting and starting servers with default settings that are taken from the properties.

The address where the instances will connect are defined either in the constructor or taken from the properties of the PogamutPlatform.

For more information about the class see AgentRunner.


Field Summary
protected  java.lang.String host
          Default host where the instances are going to be connected as defaults, see IAgentParameters.assignDefaults(IAgentParameters).
protected  java.lang.String name
          Default name that will serve as a basis for IAgentId, see IAgentParameters.assignDefaults(IAgentParameters).
protected  int port
          Default port where the instances are going to be connected as defaults, see IAgentParameters.assignDefaults(IAgentParameters).
 
Fields inherited from class cz.cuni.amis.pogamut.base.agent.utils.runner.impl.AgentRunner
agents, consoleLogging, defaultLogLevel, factory, killed, latch, listener, log, main, mutex
 
Constructor Summary
UT2004BotRunner(java.lang.Class<? extends IUT2004BotController> botControllerClass)
          Construct the runner without specifying anything as default.
UT2004BotRunner(java.lang.Class<? extends IUT2004BotController> botControllerClass, java.lang.String name)
          Construct the runner + specify the default name, host:port will be taken from the Pogamut platform properties.
UT2004BotRunner(java.lang.Class<? extends IUT2004BotController> botControllerClass, java.lang.String name, java.lang.String host, int port)
          Construct the runner + specify all defaults.
UT2004BotRunner(IAgentFactory<BOT,PARAMS> factory)
          Construct the runner without specifying anything as default.
UT2004BotRunner(IAgentFactory<BOT,PARAMS> factory, java.lang.String name)
          Construct the runner + specify the default name, host:port will be taken from the Pogamut platform properties.
UT2004BotRunner(IAgentFactory<BOT,PARAMS> factory, java.lang.String name, java.lang.String host, int port)
          Construct the runner + specify all defaults.
UT2004BotRunner(UT2004BotModule module)
          Construct the runner without specifying anything as default.
UT2004BotRunner(UT2004BotModule module, java.lang.String name)
          Construct the runner + specify the default name, host:port will be taken from the Pogamut platform properties.
UT2004BotRunner(UT2004BotModule module, java.lang.String name, java.lang.String host, int port)
          Construct the runner + specify all defaults.
 
Method Summary
 java.lang.String getHost()
          Returns host, where newly launched bots will be connected to.
 java.lang.String getName()
          Returns name that is going to be used to form new IAgentId of the bots.
 int getPort()
          Returns port, where newly launched bots will be connected to.
protected  IAgentParameters newDefaultAgentParameters()
          Provides default parameters that is, IAgentId using name and SocketConnectionAddress using host and port.
 UT2004BotRunner<BOT,PARAMS> setHost(java.lang.String host)
          Sets host, where newly launched bots will be connected to.
 UT2004BotRunner<BOT,PARAMS> setName(java.lang.String name)
          Sets name that is going to be used to form new IAgentId of the bots.
 UT2004BotRunner<BOT,PARAMS> setPort(int port)
          Sets port, where newly launched bots will be connected to.
 BOT startAgent()
          Starts the agent by providing default parameters (defined during the construction of the implementor).
 java.util.List<BOT> startAgents(int count)
          Starts agents by providing every one of them with default parameters (defined during the construction of the implementor).
 java.util.List<BOT> startAgents(PARAMS... agentParameters)
          Start an agent instance configured with 'agentsParameters'.
 
Methods inherited from class cz.cuni.amis.pogamut.base.agent.utils.runner.impl.AgentRunner
createAgentWithParams, fillInDefaults, fillInDefaults, getLog, isMain, isPausing, killAgent, killAgents, newAgentId, postStartedHook, postStartHook, preInitHook, preResumeHook, preStartHook, setConsoleLogging, setLog, setLogLevel, setMain, setPausing, startAgent, startAgentWithParams, startAgentWithParamsMain
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

host

protected java.lang.String host
Default host where the instances are going to be connected as defaults, see IAgentParameters.assignDefaults(IAgentParameters).


port

protected int port
Default port where the instances are going to be connected as defaults, see IAgentParameters.assignDefaults(IAgentParameters).


name

protected java.lang.String name
Default name that will serve as a basis for IAgentId, see IAgentParameters.assignDefaults(IAgentParameters).

Constructor Detail

UT2004BotRunner

public UT2004BotRunner(IAgentFactory<BOT,PARAMS> factory,
                       java.lang.String name,
                       java.lang.String host,
                       int port)
Construct the runner + specify all defaults.

Parameters:
factory - to be used for creating new IUT2004Bot instances
name - default name that serve as a basis for IAgentId
host - default host where the instances are going to be connected
port - default port where the instances are going to be connected

UT2004BotRunner

public UT2004BotRunner(IAgentFactory<BOT,PARAMS> factory,
                       java.lang.String name)
Construct the runner + specify the default name, host:port will be taken from the Pogamut platform properties.

Parameters:
factory - factory to be used for creating new IUT2004Bot instances
log - used to log stuff
name - default name that serve as a basis for IAgentId

UT2004BotRunner

public UT2004BotRunner(IAgentFactory<BOT,PARAMS> factory)
Construct the runner without specifying anything as default. Default name for bots will be "UT2004Bot" and host:port will be taken from the Pogamut platform properties.

Parameters:
factory - factory to be used for creating new IUT2004Bot instances

UT2004BotRunner

public UT2004BotRunner(UT2004BotModule module,
                       java.lang.String name,
                       java.lang.String host,
                       int port)
Construct the runner + specify all defaults.

Parameters:
module - Guice module that is going to be used by the UT2004BotFactory
name - default name that serve as a basis for IAgentId
host - default host where the instances are going to be connected
port - default port where the instances are going to be connected

UT2004BotRunner

public UT2004BotRunner(UT2004BotModule module,
                       java.lang.String name)
Construct the runner + specify the default name, host:port will be taken from the Pogamut platform properties.

Parameters:
module - Guice module that is going to be used by the UT2004BotFactory
name - default name that serve as a basis for IAgentId

UT2004BotRunner

public UT2004BotRunner(UT2004BotModule module)
Construct the runner without specifying anything as default. Default name for bots will be "UT2004Bot" and host:port will be taken from the Pogamut platform properties.

Parameters:
module - Guice module that is going to be used by the UT2004BotFactory

UT2004BotRunner

public UT2004BotRunner(java.lang.Class<? extends IUT2004BotController> botControllerClass,
                       java.lang.String name,
                       java.lang.String host,
                       int port)
Construct the runner + specify all defaults.

Parameters:
botControllerClass - controller that will be used to instantiate UT2004BotModule, i.e., it will control the UT2004Bot instance
name - default name that serve as a basis for IAgentId
host - default host where the instances are going to be connected
port - default port where the instances are going to be connected

UT2004BotRunner

public UT2004BotRunner(java.lang.Class<? extends IUT2004BotController> botControllerClass,
                       java.lang.String name)
Construct the runner + specify the default name, host:port will be taken from the Pogamut platform properties.

Parameters:
botControllerClass - controller that will be used to instantiate UT2004BotModule, i.e., it will control the UT2004Bot instance
name - default name that serve as a basis for IAgentId

UT2004BotRunner

public UT2004BotRunner(java.lang.Class<? extends IUT2004BotController> botControllerClass)
Construct the runner without specifying anything as default. Default name for bots will be "UT2004Bot" and host:port will be taken from the Pogamut platform properties.

Parameters:
botControllerClass - controller that will be used to instantiate UT2004BotModule, i.e., it will control the UT2004Bot instance
Method Detail

startAgent

public BOT startAgent()
                                  throws PogamutException
Description copied from interface: IAgentRunner
Starts the agent by providing default parameters (defined during the construction of the implementor).

Specified by:
startAgent in interface IAgentRunner<BOT extends IUT2004Bot,PARAMS extends UT2004AgentParameters>
Overrides:
startAgent in class AgentRunner<BOT extends IUT2004Bot,PARAMS extends UT2004AgentParameters>
Returns:
agent instance configured with default parameters that has been started
Throws:
PogamutException

startAgents

public java.util.List<BOT> startAgents(int count)
                                                   throws PogamutException
Description copied from interface: IAgentRunner
Starts agents by providing every one of them with default parameters (defined during the construction of the implementor).

Note that if any instantiation/start of the agent fails, all agents are killed before the method throws the exception.

Specified by:
startAgents in interface IAgentRunner<BOT extends IUT2004Bot,PARAMS extends UT2004AgentParameters>
Overrides:
startAgents in class AgentRunner<BOT extends IUT2004Bot,PARAMS extends UT2004AgentParameters>
Parameters:
count - how many agents should be started
Returns:
list of started agents
Throws:
PogamutException

startAgents

public java.util.List<BOT> startAgents(PARAMS... agentParameters)
                                                   throws PogamutException
Description copied from interface: IAgentRunner
Start an agent instance configured with 'agentsParameters'. The length of the 'agentsParameters' array determines how many agents are going to be started.

Note that if any instantiation/start of the agent fails, all agents are killed before the method throws the exception.

Specified by:
startAgents in interface IAgentRunner<BOT extends IUT2004Bot,PARAMS extends UT2004AgentParameters>
Overrides:
startAgents in class AgentRunner<BOT extends IUT2004Bot,PARAMS extends UT2004AgentParameters>
Returns:
list of started agents
Throws:
PogamutException

getName

public java.lang.String getName()
Returns name that is going to be used to form new IAgentId of the bots.

Returns:
name used for the newly started bots

setName

public UT2004BotRunner<BOT,PARAMS> setName(java.lang.String name)
Sets name that is going to be used to form new IAgentId of the bots.

If null is passed, generic "UT2004Bot" will be set.

Parameters:
name - name used for the newly started bots
Returns:
this instance

getHost

public java.lang.String getHost()
Returns host, where newly launched bots will be connected to.

Returns:
host running GB2004 server

setHost

public UT2004BotRunner<BOT,PARAMS> setHost(java.lang.String host)
Sets host, where newly launched bots will be connected to.

Parameters:
host - host running GB2004 server (can't be null)
Returns:
this instance

getPort

public int getPort()
Returns port, where newly launched bots will be connected to.

Returns:
port at the host where GB2004 server is listening for bot connections

setPort

public UT2004BotRunner<BOT,PARAMS> setPort(int port)
Sets port, where newly launched bots will be connected to.

Parameters:
port - at the host where GB2004 server is listening for bot connections
Returns:
this instance

newDefaultAgentParameters

protected IAgentParameters newDefaultAgentParameters()
Provides default parameters that is, IAgentId using name and SocketConnectionAddress using host and port.

Specified by:
newDefaultAgentParameters in class AgentRunner<BOT extends IUT2004Bot,PARAMS extends UT2004AgentParameters>
Returns:
new default parameters