mailbox
Class MailboxSystem

java.lang.Object
  |
  +--mailbox.MailboxSystem
All Implemented Interfaces:
ServerMailbox

public class MailboxSystem
extends java.lang.Object
implements ServerMailbox

User: Heiner Frühling Date: 26.10.2003 Time: 17:20:40


Constructor Summary
MailboxSystem()
           
 
Method Summary
 Message getNextServerMessage()
          NUR VOM SERVER ZU BENUTZENDE METHODE Abrufmethode für Servernachrichten (FIFO-Prinzip)
 void initMailboxSystem(Agent[] agents)
          Nimmt ein Array von Agenten entgegen, erzeugt neue Mailboxen und fügt sie in die eigene Verwaltung ein.
 boolean isSystemRunning()
          Derzeit nicht benutzt
 void removeAgentMailbox(java.lang.String agentName)
          Entfernt die Mailbox des Agenten und wird benutzt, falls der SimulationCotroller einen Agenten entfernen muss, der auf eine Mine gefahren ist.
 void sendAgentMessageToAgent(Message msg)
          Kopiert die übergebene Nachricht in die Message-Queue als Empfänger angegebenen Agenten
 void sendBroadcast(Message msg)
          Ermöglicht dem Server, eine Nachricht an alle Agenten zu verschicken
 void sendBroadcastBetweenAgents(Message msg)
          Versendet eine Nachricht an alle AgentenMailboxen außer an die des Absenders
 void sendMessageToAgent(java.lang.String agentID, Message msg)
          NUR VOM SERVER ZU BENUTZENDE METHODE Kopiert die übergebene Nachricht in die Message-Queue als Empfänger angegebenen Agenten
 void sendMessageToServer(Message msg)
          Kopiert die übergebene Nachricht in die Message-Queue des Servers
 void setMessageFrame(MessageFrame ivMessageFrame)
          Setzt den MessageFrame, der in der SimulationGUI zum Loggen der ausgetauschten Nachrichten verwendet wird.
 void setSystemRunning(boolean ivSystemRunning)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MailboxSystem

public MailboxSystem()
Method Detail

initMailboxSystem

public void initMailboxSystem(Agent[] agents)
Nimmt ein Array von Agenten entgegen, erzeugt neue Mailboxen und fügt sie in die eigene Verwaltung ein. Anschließend wird die Mailbox beim Agenten registriert.

Parameters:
agents -

sendBroadcast

public void sendBroadcast(Message msg)
Ermöglicht dem Server, eine Nachricht an alle Agenten zu verschicken

Specified by:
sendBroadcast in interface ServerMailbox
Parameters:
msg - Die an alle Agenten zu verteilende Nachricht

sendBroadcastBetweenAgents

public void sendBroadcastBetweenAgents(Message msg)
Versendet eine Nachricht an alle AgentenMailboxen außer an die des Absenders

Parameters:
msg - Die an alle anderen Agenten zu verteilende Nachricht

sendMessageToServer

public void sendMessageToServer(Message msg)
Kopiert die übergebene Nachricht in die Message-Queue des Servers

Parameters:
msg - Die zu versendende Nachricht

sendAgentMessageToAgent

public void sendAgentMessageToAgent(Message msg)
Kopiert die übergebene Nachricht in die Message-Queue als Empfänger angegebenen Agenten

Parameters:
msg - Die zu versendende Nachricht

getNextServerMessage

public Message getNextServerMessage()
NUR VOM SERVER ZU BENUTZENDE METHODE Abrufmethode für Servernachrichten (FIFO-Prinzip)

Specified by:
getNextServerMessage in interface ServerMailbox
Returns:
Die nächste Nachricht in der Mailbox oder null, falls keine vorliegt

sendMessageToAgent

public void sendMessageToAgent(java.lang.String agentID,
                               Message msg)
NUR VOM SERVER ZU BENUTZENDE METHODE Kopiert die übergebene Nachricht in die Message-Queue als Empfänger angegebenen Agenten

Specified by:
sendMessageToAgent in interface ServerMailbox
Parameters:
msg - Die zu versendende Nachricht
agentID - Der Empfänger

removeAgentMailbox

public void removeAgentMailbox(java.lang.String agentName)
Entfernt die Mailbox des Agenten und wird benutzt, falls der SimulationCotroller einen Agenten entfernen muss, der auf eine Mine gefahren ist.

Parameters:
agentName -

setMessageFrame

public void setMessageFrame(MessageFrame ivMessageFrame)
Setzt den MessageFrame, der in der SimulationGUI zum Loggen der ausgetauschten Nachrichten verwendet wird.

Parameters:
ivMessageFrame -

isSystemRunning

public boolean isSystemRunning()
Derzeit nicht benutzt


setSystemRunning

public void setSystemRunning(boolean ivSystemRunning)