turtlekit.kernel
Class PythonCommandCenter

java.lang.Object
  extended by madkit.kernel.AbstractAgent
      extended by madkit.kernel.SynchroScheduler
          extended by turtlekit.kernel.PythonCommandCenter
All Implemented Interfaces:
java.awt.event.ActionListener, java.io.Serializable, java.util.EventListener

public class PythonCommandCenter
extends SynchroScheduler
implements java.awt.event.ActionListener

Version:
1.1
Author:
Fabien MICHEL
See Also:
Serialized Form

Field Summary
 AbstractEditorPanel display
           
protected  PythonInterpreter interp
           
 
Constructor Summary
PythonCommandCenter(java.lang.String group)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void activate()
          This method is initially called when the micro-kernel registers the agent.
 void addTurtle(Turtle t)
           
 void clearPatch()
           
 void clearT()
           
 void createTurtle(int x)
           
 void end()
          the end method will remove all the activators which have been used by the scheduler.
 void evaluation(java.lang.String act, java.lang.String content)
           
 void executeProcedure(java.lang.String s)
           
 PythonInterpreter getInterpret()
           
 void initGUI()
          This method is called by the specific external graphic system (as the G-Box) to ask the agent to prepare a graphical interface.
 void makeProcedure(java.lang.String s)
           
 void println(java.lang.String s)
          Prints text information in an environment-independent way (GUI, console, ...)
 void turtleMethod(java.lang.String s)
           
 
Methods inherited from class madkit.kernel.SynchroScheduler
addActivator, addActivator, getActivators, removeActivator, removeAllActivators
 
Methods inherited from class madkit.kernel.AbstractAgent
broadcastMessage, broadcastMessage, connectedWithCommunity, createGroup, createGroup, debug, destroyGroup, disposeMyGUI, foundGroup, getAddress, getAgentsWithRole, getAgentsWithRole, getAgentWithRole, getAgentWithRole, getAvailableCommunities, getBean, getController, getCurrentKernelAddress, getDebug, getExistingGroups, getExistingGroups, getExistingRoles, getExistingRoles, getGroups, getGUIObject, getMessageBoxSize, getMyGroups, getMyGroups, getMyRoles, getMyRoles, getName, getRoles, hasGUI, hashCode, hideMyGUI, isBelongingToGroup, isBelongingToGroup, isCommunity, isGroup, isGroup, isMemberOf, isMemberOf, isMessageBoxEmpty, isRole, isRole, joinGroup, killAgent, launchAgent, launchAgent, leaveGroup, leaveGroup, leaveRole, leaveRole, nextMessage, print, receiveMessage, redisplayMyGUI, requestRole, requestRole, requestRole, restoreAgent, sendMessage, sendMessage, sendMessage, setBean, setController, setDebug, setGUIObject, setName, setOutput, setOutputWriter, toString, windowClosing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

display

public AbstractEditorPanel display

interp

protected PythonInterpreter interp
Constructor Detail

PythonCommandCenter

public PythonCommandCenter(java.lang.String group)
Method Detail

getInterpret

public PythonInterpreter getInterpret()

println

public void println(java.lang.String s)
Description copied from class: AbstractAgent
Prints text information in an environment-independent way (GUI, console, ...)

Overrides:
println in class AbstractAgent
Parameters:
s - the string

initGUI

public void initGUI()
Description copied from class: AbstractAgent
This method is called by the specific external graphic system (as the G-Box) to ask the agent to prepare a graphical interface. The agent developer should use a setGUIObject(...) within this method, as well as other necessary initializations. If the developer does not overload this method, a vanilla text output might be used as the default interface.

Overrides:
initGUI in class AbstractAgent

activate

public void activate()
Description copied from class: AbstractAgent
This method is initially called when the micro-kernel registers the agent. Usually a good place to set up some initial groups and roles.

Here is a typical example (taken from the PingPong agent of MadKit (plugin demos)) :

public void activate()
{
        try {
                createGroup(true,"ping-pong",null,null);
                println ("No ping-pong group : I created one");
                creator=true;
        } catch (OrganizationRequestException e) { // the group already exists
                creator=false;
                println ("A ping-pong group already exists : I will join");
        }
        requestRole("ping-pong","player",null);
}
 

Overrides:
activate in class AbstractAgent

evaluation

public void evaluation(java.lang.String act,
                       java.lang.String content)

turtleMethod

public final void turtleMethod(java.lang.String s)

createTurtle

public void createTurtle(int x)

addTurtle

public void addTurtle(Turtle t)

clearT

public void clearT()

clearPatch

public void clearPatch()

makeProcedure

public void makeProcedure(java.lang.String s)

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

executeProcedure

public void executeProcedure(java.lang.String s)

end

public void end()
Description copied from class: SynchroScheduler
the end method will remove all the activators which have been used by the scheduler. Overriding this method, one should use super.end() first in order to ease the removal of simulated agents which will be killed. Doing so can greatly improved the "killing time" of simulation engines

Overrides:
end in class SynchroScheduler
See Also:
AbstractAgent.end()


Copyright © Madkit Team (O. Gutknecht, J. Ferber, F. Michel et al.) All Rights Reserved.