net.sourceforge.sconman
Class AgentManager

java.lang.Object
  extended by net.sourceforge.sconman.AgentManager
All Implemented Interfaces:
IXMLSerializable

 class AgentManager
extends java.lang.Object
implements IXMLSerializable

This class handles agent scheduling.

Author:
mikeshadow

Field Summary
(package private)  java.util.Map agents
          Keyed agent map
(package private)  Project project
          The context project for agent execution
(package private)  java.util.Timer timer
          Sheduler
 
Constructor Summary
AgentManager(Project project)
          Constructor for AgentManager.
 
Method Summary
 IAgent add(java.lang.String name, java.lang.String classname, long period)
          Adds a new agent to the schedule
 void deserializeXML(org.kxml2.io.KXmlParser in)
          Deserialize from XML
 void finalize()
          Stop timer when this object gets garbage collected
 IAgent getAgent(java.lang.String name)
          Returns an agent
 java.util.Collection getAgents()
          Return every registered agents
(package private)  boolean isRunning()
          Check if the AgentManager has a Timer running.
 void remove(java.lang.String name)
          Removes an agent
 void serializeXML(org.kxml2.io.KXmlSerializer out)
          Serialize to XML
 void startAgents(User actor)
          Starts agent execution schedule.
 void stopAgents()
          Stop every registered agent
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

project

Project project
The context project for agent execution


timer

java.util.Timer timer
Sheduler


agents

java.util.Map agents
Keyed agent map

Constructor Detail

AgentManager

public AgentManager(Project project)
Constructor for AgentManager.

Parameters:
project - The context project
Method Detail

add

public IAgent add(java.lang.String name,
                  java.lang.String classname,
                  long period)
Adds a new agent to the schedule

Parameters:
id - Agent id, used to identify it
classname - Agent's classname, that mush implement IAgent
period - Period in milliseconds
Returns:
The newly created IAgent

remove

public void remove(java.lang.String name)
Removes an agent

Parameters:
id - The agent id

finalize

public void finalize()
Stop timer when this object gets garbage collected

Overrides:
finalize in class java.lang.Object

getAgent

public IAgent getAgent(java.lang.String name)
Returns an agent

Parameters:
id - Agent's id
Returns:
The agent

getAgents

public java.util.Collection getAgents()
Return every registered agents

Returns:
A collection with every registered agents

startAgents

public void startAgents(User actor)
Starts agent execution schedule. From this call agents will run until #stopAgens is called.


stopAgents

public void stopAgents()
Stop every registered agent


isRunning

boolean isRunning()
Check if the AgentManager has a Timer running.

Returns:

serializeXML

public void serializeXML(org.kxml2.io.KXmlSerializer out)
                  throws java.io.IOException
Description copied from interface: IXMLSerializable
Serialize to XML

Specified by:
serializeXML in interface IXMLSerializable
Parameters:
out - The KXmlSerializer to do the output
Throws:
java.io.IOException - Thrown if there's an IO problem

deserializeXML

public void deserializeXML(org.kxml2.io.KXmlParser in)
                    throws org.xmlpull.v1.XmlPullParserException,
                           java.io.IOException
Description copied from interface: IXMLSerializable
Deserialize from XML

Specified by:
deserializeXML in interface IXMLSerializable
Parameters:
in - The KXml pull parser
Throws:
org.xmlpull.v1.XmlPullParserException - Thrown if there's an XML problem
java.io.IOException - Thrown if there's an IO problem


Copyright null null. All Rights Reserved.