agent
Class Agent

java.lang.Object
  |
  +--agent.Agent
All Implemented Interfaces:
java.lang.Runnable
Direct Known Subclasses:
DatingAgent, InteractiveAgent, PingAgent, RaceAgent, RemoteControlledAgent, SimpleMoveTestAgent

public abstract class Agent
extends java.lang.Object
implements java.lang.Runnable

Oberklasse für alle Agenten. Jede konkrete Implementierung muss diese beerben, um in der Simulation benutzbar zu sein. Die konkrete Vorgehensweise ist in der zum Seminar angefertigten Ausarbeitung beschrieben. User: Heiner Frühling Date: 26.10.2003 Time: 18:09:12


Field Summary
protected  AgentMailbox ivAgentMailbox
           
protected  java.awt.Frame ivMyDialog
           
protected  java.lang.String ivName
          Der Name
protected  boolean ivNeedsDialog
           
protected  RoboterInfo ivRoboterInfo
           
protected  boolean ivRunning
           
 
Constructor Summary
Agent()
          Default-Konstruktor für Reflection-API Class.forName().newInstance() - Aufruf
 
Method Summary
 java.awt.Frame getFrame()
          Diese Defaultimplementierung returned einen Frame ohne Funktion und muß daher von den erbenden Klassen überschrieben werden!!!
 java.lang.String getName()
          Getter für den Namen des Agenten.
 Message getNextMessage()
           
 RoboterInfo getRoboterInfo()
          Gibt das Objekt mit den Informationen über den angeschlossenen Roboter zurück.
 java.lang.String[] getSensoren()
           
 boolean isRunning()
          Über diese Methode lässt sich nachprüfen, ob der Agent noch aktiv ist oder die Ausführung beendet wurde
 boolean needsDialog()
          Gibt an, ob der Agent eine GUI benötigt.
 void run()
          Implementierung der im Inteface Runnable definierten Standardmethode für die Logik eines Threads
 void sendBroadCastToAgents(Message message)
          Sendet eine Broadcast-Nachricht an alle Agenten.
 void sendMessageToAgent(Message msg, java.lang.String adresse)
          Sendet eine Nachricht an den durch den Namen bestimmten Agenten.
 void sendMessageToServer(Message message)
          Sendet eine Nachricht an den Server.
 void setAgentMailbox(AgentMailbox ivAgentMailbox)
          Setter für die Mailbox des Agenten
 void setName(java.lang.String ivName)
          Setter für den Namen des Agenten
 void setNeedsDialog(boolean ivNeedsDialog)
           
 void setRoboterInfo(RoboterInfo ivRoboterInfo)
          Setter für die Roboterinformationen
 void setRunning(boolean ivRunning)
          Setter für die Variable ivRunning.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ivName

protected java.lang.String ivName
Der Name


ivAgentMailbox

protected AgentMailbox ivAgentMailbox

ivRunning

protected boolean ivRunning

ivRoboterInfo

protected RoboterInfo ivRoboterInfo

ivNeedsDialog

protected boolean ivNeedsDialog

ivMyDialog

protected java.awt.Frame ivMyDialog
Constructor Detail

Agent

public Agent()
Default-Konstruktor für Reflection-API Class.forName().newInstance() - Aufruf

Method Detail

run

public void run()
Implementierung der im Inteface Runnable definierten Standardmethode für die Logik eines Threads

Specified by:
run in interface java.lang.Runnable

getSensoren

public java.lang.String[] getSensoren()

getName

public java.lang.String getName()
Getter für den Namen des Agenten.

Returns:
Der Name des Agenten

setName

public void setName(java.lang.String ivName)
Setter für den Namen des Agenten

Parameters:
ivName - Der Name des Agenten

setAgentMailbox

public void setAgentMailbox(AgentMailbox ivAgentMailbox)
Setter für die Mailbox des Agenten

Parameters:
ivAgentMailbox - Die dem Agenten zugewiesene Mailbox

setRunning

public void setRunning(boolean ivRunning)
Setter für die Variable ivRunning. Diese wird in der run()-Schleife des Agenten dazu verwendet, um die Ausführung zu suspendieren.

Parameters:
ivRunning -

isRunning

public boolean isRunning()
Über diese Methode lässt sich nachprüfen, ob der Agent noch aktiv ist oder die Ausführung beendet wurde

Returns:
Wahrheitswert, ob der Agent noch läuft oder nicht.

needsDialog

public boolean needsDialog()
Gibt an, ob der Agent eine GUI benötigt. Diese Methode wird per Callback bei der Initialisierung aufgerufen. Falls sie von der konkreten Implementierung nicht überschrieben wird, wird false zurückgegeben.

Returns:
Wahrheitswert, der angibt, ob der Agent einen Dialog braucht

setNeedsDialog

public void setNeedsDialog(boolean ivNeedsDialog)

getFrame

public java.awt.Frame getFrame()
Diese Defaultimplementierung returned einen Frame ohne Funktion und muß daher von den erbenden Klassen überschrieben werden!!!

Returns:
Den vom Agenten benötigten Frame

sendMessageToServer

public void sendMessageToServer(Message message)
Sendet eine Nachricht an den Server. In der Nachricht muß nur der Betreff und gegebenenfalls der Inhalt angegeben werden, den Rest fügt die Mailbox hinzu. Falls der Betreff fehlt, wird die Nachricht nicht gesendet.

Parameters:
message - Die zu sendende Nachricht

sendBroadCastToAgents

public void sendBroadCastToAgents(Message message)
Sendet eine Broadcast-Nachricht an alle Agenten. In der Nachricht muß nur der Betreff und gegebenenfalls der Inhalt angegeben werden, den Rest fügt die Mailbox hinzu. Falls der Betreff fehlt, wird die Nachricht nicht gesendet.

Parameters:
message -

sendMessageToAgent

public void sendMessageToAgent(Message msg,
                               java.lang.String adresse)
Sendet eine Nachricht an den durch den Namen bestimmten Agenten. In der Nachricht muß nur der Betreff und gegebenenfalls der Inhalt angegeben werden, den Rest fügt die Mailbox hinzu. Falls der Betreff fehlt, wird die Nachricht nicht gesendet.

Parameters:
msg -
adresse - Name des Agenten

getNextMessage

public Message getNextMessage()
Returns:
Message oder null, falls keine Nachricht vorhanden

getRoboterInfo

public RoboterInfo getRoboterInfo()
Gibt das Objekt mit den Informationen über den angeschlossenen Roboter zurück.

Returns:
Objekt mit Informationen zum angeschlossenen Roboter

setRoboterInfo

public void setRoboterInfo(RoboterInfo ivRoboterInfo)
Setter für die Roboterinformationen

Parameters:
ivRoboterInfo -