# Uses of Class
madkit.kernel.AbstractAgent

Packages that use AbstractAgent
Package
Description
madkit.action
Contains enumerations useful for (1) interacting with agents and (2) building customized GUI.
madkit.gui
Contains classes for Agent GUI authoring in MaDKit.
madkit.gui.menu
Contains classes for building MaDKit GUI menus.
madkit.gui.toolbar
Contains classes for building MaDKit GUI toolbars.
madkit.kernel
Provides classes that are fundamental to the design of MaDKit applications.
madkit.message.hook
Contains message classes useful for monitoring MaDKit kernel events.
madkit.simulation.activator
Contains activators for simulation authoring.
madkit.simulation.model
Contains classes designed for encapsulating simulation models.
madkit.simulation.probe
Contains probes for simulation authoring.
madkit.simulation.scheduler
Contains specialized Scheduler agents
madkit.simulation.viewer
Contains default viewer classes for simulation visualization.

- ## Uses of AbstractAgent in madkit.action

  Methods in madkit.action with parameters of type AbstractAgent
  Modifier and Type
  Method
  Description
  `Action`
  AgentAction.`getActionFor(AbstractAgent agent, Object... parameters)`
  Builds an action that will make the agent do the corresponding behavior
  `Action`
  GUIManagerAction.`getActionFor(AbstractAgent agent, Object... commandOptions)`
  Returns an Action that will send to the GUI manager the corresponding request.
  `Action`
  KernelAction.`getActionFor(AbstractAgent agent, Object... parameters)`
  Builds an action that will make the kernel do the corresponding operation if possible.
  `Action`
  LoggingAction.`getActionFor(AbstractAgent agent, Object... parameters)`
  Builds an action that will make the agent do the corresponding behavior

- ## Uses of AbstractAgent in madkit.gui

  Subclasses of AbstractAgent in madkit.gui
  Modifier and Type
  Class
  Description
  `class`
  `ConsoleAgent`
  This agent displays standard out and err prints in its GUI.
  Methods in madkit.gui that return AbstractAgent
  Modifier and Type
  Method
  Description
  `AbstractAgent`
  AgentFrame.`getAgent()`
  Methods in madkit.gui with parameters of type AbstractAgent
  Modifier and Type
  Method
  Description
  `static void`
  SwingUtil.`addMaDKitActionsTo(Container menuOrToolBar, AbstractAgent agent)`
  Adds to a menu or toolbar the following actions: `KernelAction.EXIT` `KernelAction.COPY` `KernelAction.RESTART` `KernelAction.LAUNCH_NETWORK` `KernelAction.STOP_NETWORK` `GUIManagerAction.CONNECT_TO_IP` `GlobalAction.JCONSOLE` `KernelAction.CONSOLE` `GlobalAction.DEBUG` `GlobalAction.LOAD_LOCAL_DEMOS` `GlobalAction.LOAD_JAR_FILE` `GUIManagerAction.ICONIFY_ALL` `GUIManagerAction.DEICONIFY_ALL` `GUIManagerAction.KILL_AGENTS`
  `static AgentFrame`
  AgentFrame.`createAgentFrame(AbstractAgent agent)`
  Override to customize the agent frame that should be created by the GUI engine.
  `JMenuBar`
  MDKDesktopFrame.`getMenuBar(AbstractAgent guiManager)`
  Builds tool bar for the desktop frame.
  `JToolBar`
  MDKDesktopFrame.`getToolBar(AbstractAgent guiManager)`
  Builds tool bar for the desktop frame.
  `static void`
  AgentStatusPanel.`remove(AbstractAgent abstractAgent)`
  Constructors in madkit.gui with parameters of type AbstractAgent
  Modifier
  Constructor
  Description
  `protected`
  `AgentFrame(AbstractAgent agent)`
  TThis constructor is protected because this class should not be directly instantiated as it is used by the MaDKit GUI manager.
  ``
  `AgentStatusPanel(AbstractAgent a)`
  ``
  `OutputPanel(AbstractAgent agent)`
  Builds the panel for the agent

- ## Uses of AbstractAgent in madkit.gui.menu

  Methods in madkit.gui.menu with parameters of type AbstractAgent
  Modifier and Type
  Method
  Description
  `static void`
  AgentLogLevelMenu.`remove(AbstractAgent abstractAgent)`
  `static void`
  AgentLogLevelMenu.`update(AbstractAgent agent)`
  Update the menu of this agent
  Constructors in madkit.gui.menu with parameters of type AbstractAgent
  Modifier
  Constructor
  Description
  ``
  `AgentLogLevelMenu(AbstractAgent agent)`
  Builds a menu containing all the log levels which could be set on an agent.
  ``
  `AgentMenu(AbstractAgent agent)`
  Creates a menu featuring: `AgentAction.RELOAD`, `AgentAction.LAUNCH_AGENT`, `AgentAction.KILL_AGENT`
  ``
  `LaunchAgentsMenu(AbstractAgent agent)`
  ``
  `LaunchAgentsMenu(AbstractAgent agent, String menuName)`
  Builds a new menu containing all the agents available on the class path, except madkit.kernel agents.
  ``
  `LaunchAgentsMenu(AbstractAgent agent, String menuName, AgentClassFilter filter)`
  Builds a new launching menu containing all the agents available on the class path.
  ``
  `LaunchMAS(AbstractAgent agent)`
  Builds a new menu.
  ``
  `LaunchXMLConfigurations(AbstractAgent agent, String title)`
  Builds a new menu.
  ``
  `MadkitMenu(AbstractAgent agent)`
  Builds a menu featuring the following actions: `KernelAction.EXIT` `KernelAction.COPY` `KernelAction.RESTART` `KernelAction.LAUNCH_NETWORK` `KernelAction.STOP_NETWORK` `GUIManagerAction.CONNECT_TO_IP` `GlobalAction.JCONSOLE` `KernelAction.CONSOLE` `GlobalAction.DEBUG` `GlobalAction.LOAD_LOCAL_DEMOS` `GlobalAction.LOAD_JAR_FILE` `GUIManagerAction.ICONIFY_ALL` `GUIManagerAction.DEICONIFY_ALL` `GUIManagerAction.KILL_AGENTS`

- ## Uses of AbstractAgent in madkit.gui.toolbar

  Constructors in madkit.gui.toolbar with parameters of type AbstractAgent
  Modifier
  Constructor
  Description
  ``
  `MadkitToolBar(AbstractAgent agent)`
  Creates a `JToolBar` featuring: `KernelAction.EXIT` `KernelAction.COPY` `KernelAction.RESTART` `KernelAction.LAUNCH_NETWORK` `KernelAction.STOP_NETWORK` `GUIManagerAction.CONNECT_TO_IP` `GlobalAction.JCONSOLE` `KernelAction.CONSOLE` `GlobalAction.DEBUG` `GlobalAction.LOAD_LOCAL_DEMOS` `GlobalAction.LOAD_JAR_FILE` `GUIManagerAction.ICONIFY_ALL` `GUIManagerAction.DEICONIFY_ALL` `GUIManagerAction.KILL_AGENTS`

- ## Uses of AbstractAgent in madkit.kernel

  Classes in madkit.kernel with type parameters of type AbstractAgent
  Modifier and Type
  Class
  Description
  `class`
  `Activator<A extends AbstractAgent>`
  This class defines a tool for scheduling mechanism.
  `class`
  `Probe<A extends AbstractAgent>`
  This class defines a watcher's generic probe.
  Subclasses of AbstractAgent in madkit.kernel
  Modifier and Type
  Class
  Description
  `class`
  `Agent`
  The super class of all MaDKit threaded agents, v 5.
  `class`
  `Scheduler`
  Scheduler is the core agent for defining multi-agent based simulations.
  `class`
  `Watcher`
  This class defines a generic watcher agent.
  Methods in madkit.kernel that return AbstractAgent
  Modifier and Type
  Method
  Description
  `AbstractAgent`
  AbstractAgent.`launchAgent(String agentClass)`
  Launches a new agent using its full class name.
  `AbstractAgent`
  AbstractAgent.`launchAgent(String agentClass, boolean createFrame)`
  Launches a new agent using its full class name.
  `AbstractAgent`
  AbstractAgent.`launchAgent(String agentClass, int timeOutSeconds)`
  Launches a new agent using its full class name.
  `AbstractAgent`
  AbstractAgent.`launchAgent(String agentClass, int timeOutSeconds, boolean createFrame)`
  Launches a new agent using its full class name and returns when the launched agent has completed its `activate()` method or when the time out is elapsed.
  Methods in madkit.kernel that return types with arguments of type AbstractAgent
  Modifier and Type
  Method
  Description
  `Probe<AbstractAgent>[]`
  Watcher.`allProbes()`
  `Set<Probe<? extends AbstractAgent>>`
  Watcher.`getProbes()`
  Returns the probes which have been successfully added
  `List<AbstractAgent>`
  AbstractAgent.`launchAgentBucket(String agentClass, int bucketSize, int cpuCoreNb, String... roles)`
  Optimizes mass agent launching.
  `List<AbstractAgent>`
  AbstractAgent.`launchAgentBucket(String agentClass, int bucketSize, String... roles)`
  This has the same effect as `launchAgentBucket(agentClass, bucketSize, 1, roles)`.
  Methods in madkit.kernel with parameters of type AbstractAgent
  Modifier and Type
  Method
  Description
  `int`
  AbstractAgent.`compareTo(AbstractAgent other)`
  Compares this agent with the specified agent for order with respect to instantiation time.
  `void`
  Activator.`executeBehaviorOf(AbstractAgent agent, String behaviorName, Object... args)`
  Executes a specific method on a targeted agent.
  `AbstractAgent.ReturnCode`
  AbstractAgent.`killAgent(AbstractAgent target)`
  Kills the targeted agent.
  `AbstractAgent.ReturnCode`
  AbstractAgent.`killAgent(AbstractAgent target, int timeOutSeconds)`
  Kills the targeted agent.
  `AbstractAgent.ReturnCode`
  Agent.`killAgent(AbstractAgent target, int timeOutSeconds)`
  `AbstractAgent.ReturnCode`
  AbstractAgent.`launchAgent(AbstractAgent agent)`
  Launches a new agent in the MaDKit platform.
  `AbstractAgent.ReturnCode`
  AbstractAgent.`launchAgent(AbstractAgent agent, boolean createFrame)`
  Launches a new agent in the MaDKit platform.
  `AbstractAgent.ReturnCode`
  AbstractAgent.`launchAgent(AbstractAgent agent, int timeOutSeconds)`
  Launches a new agent in the MaDKit platform.
  `AbstractAgent.ReturnCode`
  AbstractAgent.`launchAgent(AbstractAgent agent, int timeOutSeconds, boolean createFrame)`
  Launches a new agent and returns when the agent has completed its `activate()` method or when `timeOutSeconds` seconds elapsed.
  Method parameters in madkit.kernel with type arguments of type AbstractAgent
  Modifier and Type
  Method
  Description
  `void`
  Scheduler.`addActivator(Activator<? extends AbstractAgent> activator)`
  Adds an activator to the simulation engine.
  `void`
  Watcher.`addProbe(Probe<? extends AbstractAgent> probe)`
  Adds the probe to the artificial organization so that it starts to probe the agents which are at the corresponding CGR location.
  `void`
  Scheduler.`executeAndLog(Activator<? extends AbstractAgent> activator, Object... args)`
  Triggers the execute method of this `activator` and logs it using the `Level.FINER` logging level
  `static Field`
  Probe.`findFieldOn(Class<? extends AbstractAgent> agentClass, String fieldName)`
  Returns the agent's field named `fieldName`.
  `void`
  AbstractAgent.`launchAgentBucket(List<? extends AbstractAgent> bucket, int nbOfParallelTasks, String... roles)`
  Similar to `launchAgentBucket(String, int, String...)` except that the list of agents to launch is given.
  `void`
  AbstractAgent.`launchAgentBucket(List<? extends AbstractAgent> bucket, String... roles)`
  This call is equivalent to This has the same effect as `launchAgentBucket(bucket, 1, roles)`, That is only one core will be used for the launch.
  `void`
  Scheduler.`removeActivator(Activator<? extends AbstractAgent> activator)`
  Removes an activator from the simulation engine.
  `void`
  Watcher.`removeProbe(Probe<? extends AbstractAgent> probe)`
  Removes the probe from the artificial organization, thus stopping the probing activity.
  `void`
  Scheduler.`setActivatorPriority(Activator<? extends AbstractAgent> activator, int priority)`
  Sets the priority of an `Activator`.

- ## Uses of AbstractAgent in madkit.message.hook

  Methods in madkit.message.hook that return AbstractAgent
  Modifier and Type
  Method
  Description
  `AbstractAgent`
  AgentLifeEvent.`getSource()`
  The agent which is related to this event
  Constructors in madkit.message.hook with parameters of type AbstractAgent
  Modifier
  Constructor
  Description
  ``
  `AgentLifeEvent(HookMessage.AgentActionEvent agentAction, AbstractAgent agent)`

- ## Uses of AbstractAgent in madkit.simulation.activator

  Classes in madkit.simulation.activator with type parameters of type AbstractAgent
  Modifier and Type
  Class
  Description
  `class`
  `DateBasedDiscreteEventActivator<A extends AbstractAgent>`
  A behavior activator that is designed to work with a `DateBasedDiscreteEventScheduler`, that is following a discrete-event simulation scheme.
  `class`
  `DiscreteEventAgentsActivator<A extends AbstractAgent>`
  An activator that works using a discrete-event simulation scheme.
  `class`
  `GenericBehaviorActivator<A extends AbstractAgent>`
  An activator that invokes a single method with no parameters on a group of agents.

- ## Uses of AbstractAgent in madkit.simulation.model

  Subclasses of AbstractAgent in madkit.simulation.model
  Modifier and Type
  Class
  Description
  `class`
  `AbstractModel`
  Prototype class that will be used to encapsulate simulation models in a near future.
  Methods in madkit.simulation.model with parameters of type AbstractAgent
  Modifier and Type
  Method
  Description
  `JPanel`
  AbstractModel.`getParametersView(String label, AbstractAgent onInstance)`
  Returns a panel containing sliders operating on all the `BoundedRangeModel` fields which are found in this model.

- ## Uses of AbstractAgent in madkit.simulation.probe

  Classes in madkit.simulation.probe with type parameters of type AbstractAgent
  Modifier and Type
  Class
  Description
  `class`
  `PropertyProbe<A extends AbstractAgent,T>`
  This probe inspects fields of type T on agents of type A and its subclasses.
  `class`
  `SingleAgentProbe<A extends AbstractAgent,T>`
  This probe inspects fields of type T on only one agent of type A and its subclasses.

- ## Uses of AbstractAgent in madkit.simulation.scheduler

  Subclasses of AbstractAgent in madkit.simulation.scheduler
  Modifier and Type
  Class
  Description
  `class`
  `DateBasedDiscreteEventScheduler`
  Methods in madkit.simulation.scheduler that return types with arguments of type AbstractAgent
  Modifier and Type
  Method
  Description
  `PriorityQueue<DateBasedDiscreteEventActivator<? extends AbstractAgent>>`
  DateBasedDiscreteEventScheduler.`getActivationList()`
  Method parameters in madkit.simulation.scheduler with type arguments of type AbstractAgent
  Modifier and Type
  Method
  Description
  `void`
  DateBasedDiscreteEventScheduler.`addActivator(Activator<? extends AbstractAgent> activator)`

- ## Uses of AbstractAgent in madkit.simulation.viewer

  Subclasses of AbstractAgent in madkit.simulation.viewer
  Modifier and Type
  Class
  Description
  `class`
  `SwingViewer`
  A very basic simulation viewer agent.