cz.cuni.amis.pogamut.base.component
Interface IControllable

All Known Subinterfaces:
IAgent, IAgent3D, IEmbodiedAgent, IGhostAgent, IObservingAgent, IUnrealBot, IUnrealServer<BOT>, IUT2004Analyzer, IUT2004AnalyzerObserver, IUT2004Bot, IUT2004Observer, IUT2004Server, IWorldServer<A>
All Known Implementing Classes:
AbstractAgent, AbstractAgent3D, AbstractEmbodiedAgent, AbstractGhostAgent, AbstractObservingAgent, AbstractUT2004Observer, AbstractUT2004Server, AbstractWorldServer, Agent3DJMXProxy, AgentJMXProxy, BotJMXProxy, GhostAgentJMXProxy, NativeUnrealBotAdapter, NativeUT2004BotAdapter, TestAgents.NetworkLoggingAgent, UT2004Analyzer, UT2004AnalyzerObserver, UT2004AnalyzerObsStats, UT2004Bot, UT2004Observer, UT2004Server

@MXBean
public interface IControllable

Interface providing a control methods for the implementors. Used almost everywhere in the Gavial libray.


Method Summary
 void kill()
          Kills the object - interrupt ruthlessly any work it might be doing.
 void start()
          Starts the object.
 void stop()
          Tries to stop the work of this object carefully.
 

Method Detail

start

void start()
           throws PogamutException
Starts the object. If no exception is thrown we assume that the object has been correctly started and can be used.

May block.

Throws:
PogamutException

stop

void stop()
Tries to stop the work of this object carefully.

May block.


kill

void kill()
Kills the object - interrupt ruthlessly any work it might be doing.

This method should interrupt any threads the object may have.

Must not block!