fr.lip6.sma.simulacion.server.log
Class LogAgent

java.lang.Object
  extended by fr.lip6.sma.simulacion.server.AgentImpl
      extended by fr.lip6.sma.simulacion.server.log.LogAgent
All Implemented Interfaces:
Agent, LocalAgent

public class LogAgent
extends AgentImpl
implements LocalAgent

Classe pour un agent qui note, en XML et dans un flux, tout ce qui se passe.

Version:
$Revision: 3 $
Author:
Paul Guyot
See Also:
"aucun test défini."

Field Summary
private static String CLASS
          Classe de l'agent.
private  String mName
          Référence sur le nom de l'agent.
private  OutputStreamWriter mOutputStreamWriter
          Référence vers le flux de sortie.
 
Fields inherited from interface fr.lip6.sma.simulacion.server.Agent
AVATAR_PROPERTY_KEY, CLASS_KEY, IMPLEMENTATION_KEY, LOCATION_KEY, ONMAP_KEY, PROPERTIES_KEY, TYPE_PROPERTY_KEY
 
Constructor Summary
LogAgent(OutputStream inOutputStream, String inName)
          Constructeur à partir d'un flux et d'un nom (suffixe) pour identifier l'agent sur le réseau.
 
Method Summary
 void addPropertyChangeListener(PropertyChangeListener inListener)
          Ajoute un client pour les changements des propriétés.
 void addPropertyChangeListener(String inPropertyName, PropertyChangeListener inListener)
          Ajoute un client pour les changements d'une propriété.
 void closeLog()
          Méthode appelée pour fermer le log.
 String execute(String inOperationName, Map inParams)
          Exécute une opération (localement ou à travers le réseau).
 void executeAsync(String inOperationName, Map inParams)
          Exécute une opération de manière asynchrone sans retourner le résultat.
 String getAgentClass()
          Accesseur sur la classe de l'agent.
 String getAgentName()
          Accesseur sur le nom de l'agent.
 String getProperty(String inPropertyName)
          Accesseur sur une propriété de l'agent.
 void registerAgent(Agent inAgent)
          Enregistre un agent.
 void removePropertyChangeListener(PropertyChangeListener inListener)
          Supprime un client pour les changements des propriétés.
 void removePropertyChangeListener(String inPropertyName, PropertyChangeListener inListener)
          Supprimer un client pour les changements d'une propriété.
 void unregisterAgent(Agent inAgent, boolean inTellAgent)
          Désenregistre un agent.
 
Methods inherited from class fr.lip6.sma.simulacion.server.AgentImpl
equals, hashCode
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface fr.lip6.sma.simulacion.server.Agent
equals, hashCode
 

Field Detail

CLASS

private static final String CLASS
Classe de l'agent.

See Also:
Constant Field Values

mOutputStreamWriter

private final OutputStreamWriter mOutputStreamWriter
Référence vers le flux de sortie.


mName

private final String mName
Référence sur le nom de l'agent.

Constructor Detail

LogAgent

public LogAgent(OutputStream inOutputStream,
                String inName)
Constructeur à partir d'un flux et d'un nom (suffixe) pour identifier l'agent sur le réseau.

Parameters:
inOutputStream - flux de sortie
inName - nom de cet agent (doit être unique sur le réseau)
Method Detail

getAgentClass

public final String getAgentClass()
Accesseur sur la classe de l'agent.

Specified by:
getAgentClass in interface Agent
Returns:
la classe de l'agent.

getAgentName

public final String getAgentName()
Accesseur sur le nom de l'agent.

Specified by:
getAgentName in interface Agent
Returns:
le nom de l'agent.

closeLog

public final void closeLog()
Méthode appelée pour fermer le log.


registerAgent

public final void registerAgent(Agent inAgent)
Enregistre un agent.

Parameters:
inAgent - nom de l'agent à enregistrer.

unregisterAgent

public final void unregisterAgent(Agent inAgent,
                                  boolean inTellAgent)
Désenregistre un agent.

Parameters:
inAgent - nom de l'agent à enregistrer.
inTellAgent - si on dit à l'agent qu'il n'est plus surveillé.

getProperty

public final String getProperty(String inPropertyName)
Accesseur sur une propriété de l'agent.

Parameters:
inPropertyName - nom de la propriété
Returns:
la propriété ou null si elle n'existe pas.

execute

public final String execute(String inOperationName,
                            Map inParams)
                     throws AgentException
Exécute une opération (localement ou à travers le réseau).

Specified by:
execute in interface Agent
Parameters:
inOperationName - nom de l'opération à exécuter.
inParams - paramètres de l'opération.
Returns:
le résultat de l'opération (sous forme de chaîne).
Throws:
AgentException - si un problème est survenu dans l'exécution de la méthode de l'agent (par exemple si l'opération n'existe pas)

executeAsync

public void executeAsync(String inOperationName,
                         Map inParams)
Exécute une opération de manière asynchrone sans retourner le résultat.

Specified by:
executeAsync in interface Agent
Specified by:
executeAsync in interface LocalAgent
Parameters:
inOperationName - nom de l'opération à exécuter.
inParams - paramètres de l'opération.

addPropertyChangeListener

public final void addPropertyChangeListener(PropertyChangeListener inListener)
Ajoute un client pour les changements des propriétés.

Parameters:
inListener - client à ajouter.

addPropertyChangeListener

public final void addPropertyChangeListener(String inPropertyName,
                                            PropertyChangeListener inListener)
Ajoute un client pour les changements d'une propriété.

Parameters:
inPropertyName - nom de la propriété.
inListener - client à ajouter.

removePropertyChangeListener

public final void removePropertyChangeListener(PropertyChangeListener inListener)
Supprime un client pour les changements des propriétés.

Parameters:
inListener - client à supprimer.

removePropertyChangeListener

public final void removePropertyChangeListener(String inPropertyName,
                                               PropertyChangeListener inListener)
Supprimer un client pour les changements d'une propriété.

Parameters:
inPropertyName - nom de la propriété.
inListener - client à supprimer.