AGENT
- public abstract class AgentModule<AGENT extends IAgent> extends Object implements IComponent
ComponentController
and defines protected methods for the control of
the module's lifecycle (AgentModule#start()
, stop()
, pause()
, resume()
,
kill()
and reset()
). Override them when needed.Modifier and Type | Field and Description |
---|---|
protected AGENT |
agent |
protected ComponentController |
controller |
protected IComponentBus |
eventBus |
protected Logger |
log |
Constructor and Description |
---|
AgentModule(AGENT agent)
Initialize agent module - it will start
ComponentDependencyType .STARTS_WITH the agent. |
AgentModule(AGENT agent,
Logger log)
Initialize agent module - it will start
ComponentDependencyType .STARTS_WITH the agent. |
AgentModule(AGENT agent,
Logger log,
ComponentDependencies dependencies)
Initialize agent module with custom dependencies.
|
Modifier and Type | Method and Description |
---|---|
protected void |
cleanUp()
Hook where to perform clean up of data structures of the module.
|
cz.cuni.amis.utils.token.Token |
getComponentId()
Unique identification of the component.
|
Logger |
getLog()
Returns a logger used by the AgentModule.
|
cz.cuni.amis.utils.flag.ImmutableFlag<ComponentState> |
getState()
Returns state of the component.
|
protected cz.cuni.amis.utils.token.Token |
initComponentId()
Returns token made from simple name of the module's class.
|
boolean |
isRunning()
Whether the component is running.
|
protected void |
kill()
Kills the agent module.
|
protected void |
pause()
Pauses the agent module.
|
protected void |
reset()
Resets the agent module so it may be reused.
|
protected void |
resume()
Resumes the agent module.
|
protected void |
start(boolean startToPaused)
Starts the agent module.
|
protected void |
stop()
Stops the agent module.
|
String |
toString() |
protected Logger log
protected final ComponentController controller
protected final IComponentBus eventBus
public AgentModule(AGENT agent)
ComponentDependencyType
.STARTS_WITH the agent.agent
- public AgentModule(AGENT agent, Logger log)
ComponentDependencyType
.STARTS_WITH the agent.agent
- log
- should be used, if null is provided, it is created automaticallypublic AgentModule(AGENT agent, Logger log, ComponentDependencies dependencies)
agent
- log
- which should be used, if null is provided, it is created automaticallydependencies
- public Logger getLog()
protected cz.cuni.amis.utils.token.Token initComponentId()
Called during the construction of the module, called only once (and even before your constructors take effect)!
public cz.cuni.amis.utils.token.Token getComponentId()
IComponent
getComponentId
in interface IComponent
public boolean isRunning()
AbstractComponentControllerBase.isRunning()
public cz.cuni.amis.utils.flag.ImmutableFlag<ComponentState> getState()
protected void start(boolean startToPaused)
protected void stop()
Calls cleanUp()
.
protected void kill()
Calls cleanUp()
.
protected void pause()
protected void resume()
protected void reset()
Calls cleanUp()
.
protected void cleanUp()
Copyright © 2012 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.