|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object cz.cuni.amis.pogamut.base.agent.utils.runner.impl.MultipleAgentRunner<BOT,PARAMS,MODULE> cz.cuni.amis.pogamut.udk.utils.MultipleUDKBotRunner<BOT,PARAMS,MODULE>
public class MultipleUDKBotRunner<BOT extends UDKBot,PARAMS extends UDKAgentParameters,MODULE extends UDKBotModule>
This class has only one purpose - execute ONE OR MORE BOTS inside 'main' method. You can't use it for anything else! It is THE SHORTCUT of all SHORTCUTS to execute multiple bots, wait till they finishe and close the whole Pogamut.
Designed especially for the usage inside NetBeans projects.
NOTE: by default, all bots get paused after they start and they are resumed after all bots are present in UDK. To
change this behaviour pass 'false' through MultipleAgentRunner.setPausing(boolean)
.
NOTE: It's not even meant to be instantiated twice for two different batch of bots and consequently executed in two different threads! Single-purpose class only ;-)
NOTE: It might be very interesting for you to check out the source of method MultipleUDKBotRunner#startAgent()
to
see how the agent should be instantiated via UDKBotFactory
using UDKBotModule
.
Field Summary | |
---|---|
protected String |
host
Default host where the instances are going to be connected as defaults, see IAgentParameters.assignDefaults(IAgentParameters) . |
protected 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.MultipleAgentRunner |
---|
agents, consoleLogging, defaultLogLevel, killed, latch, listener, log, main, mutex |
Constructor Summary | |
---|---|
MultipleUDKBotRunner(String name)
Construct the runner + specify the default name, host:port will be taken from the Pogamut platform properties. |
|
MultipleUDKBotRunner(String name,
String host,
int port)
Construct the runner + specify all defaults. |
Method Summary | |
---|---|
String |
getHost()
Returns host, where newly launched bots will be connected to. |
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 IAgentFactory |
newAgentFactory(MODULE agentModule)
Uses UDKBotFactory for agent construction. |
protected IAgentParameters |
newDefaultAgentParameters()
Provides default parameters that is, IAgentId using name and SocketConnectionAddress
using host and port . |
protected void |
preStartHook(BOT agent)
We're setting the logging level to Level.WARNING here so the bot won't log much. |
MultipleUDKBotRunner<BOT,PARAMS,MODULE> |
setHost(String host)
Sets host, where newly launched bots will be connected to. |
MultipleUDKBotRunner<BOT,PARAMS,MODULE> |
setName(String name)
Sets name that is going to be used to form new IAgentId of the bots. |
MultipleUDKBotRunner<BOT,PARAMS,MODULE> |
setPort(int port)
Sets port, where newly launched bots will be connected to. |
List<BOT> |
startAgents(IAgentDescriptor<PARAMS,MODULE>... agentDescriptors)
|
Methods inherited from class cz.cuni.amis.pogamut.base.agent.utils.runner.impl.MultipleAgentRunner |
---|
createAgentWithParams, getAgentCount, getLog, isMain, isPausing, killAgent, killAgents, newAgentId, postStartedHook, postStartHook, preInitHook, preResumeHook, setConsoleLogging, setLog, setLogLevel, setMain, setPausing, startAgent, startAgentsMain, startAgentsMain, startAgentsStandard, startAgentsStandard |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected String host
IAgentParameters.assignDefaults(IAgentParameters)
.
protected int port
IAgentParameters.assignDefaults(IAgentParameters)
.
protected String name
IAgentId
, see IAgentParameters.assignDefaults(IAgentParameters)
.
Constructor Detail |
---|
public MultipleUDKBotRunner(String name, String host, int port)
name
- default name that serve as a basis for IAgentId
host
- default host where the instances are going to be connectedport
- default port where the instances are going to be connectedpublic MultipleUDKBotRunner(String name)
factory
- factory to be used for creating new IUDKBot
instancesname
- default name that serve as a basis for IAgentId
Method Detail |
---|
public String getName()
IAgentId
of the bots.
public MultipleUDKBotRunner<BOT,PARAMS,MODULE> setName(String name)
IAgentId
of the bots.
If null is passed, generic "UDKBot" will be set.
name
- name used for the newly started bots
public String getHost()
public MultipleUDKBotRunner<BOT,PARAMS,MODULE> setHost(String host)
host
- host running GBUDK server (can't be null)
public int getPort()
public MultipleUDKBotRunner<BOT,PARAMS,MODULE> setPort(int port)
port
- at the host where GBUDK server is listening for bot connections
protected void preStartHook(BOT agent) throws cz.cuni.amis.utils.exception.PogamutException
Level.WARNING
here so the bot won't log much.
preStartHook
in class MultipleAgentRunner<BOT extends UDKBot,PARAMS extends UDKAgentParameters,MODULE extends UDKBotModule>
cz.cuni.amis.utils.exception.PogamutException
protected IAgentParameters newDefaultAgentParameters()
IAgentId
using name
and SocketConnectionAddress
using host
and port
.
newDefaultAgentParameters
in class MultipleAgentRunner<BOT extends UDKBot,PARAMS extends UDKAgentParameters,MODULE extends UDKBotModule>
protected IAgentFactory newAgentFactory(MODULE agentModule)
UDKBotFactory
for agent construction.
newAgentFactory
in class MultipleAgentRunner<BOT extends UDKBot,PARAMS extends UDKAgentParameters,MODULE extends UDKBotModule>
public List<BOT> startAgents(IAgentDescriptor<PARAMS,MODULE>... agentDescriptors)
startAgents
in interface IMultipleAgentRunner<BOT extends UDKBot,PARAMS extends UDKAgentParameters,MODULE extends UDKBotModule>
startAgents
in class MultipleAgentRunner<BOT extends UDKBot,PARAMS extends UDKAgentParameters,MODULE extends UDKBotModule>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |