Class Laden

java.lang.Object
  extended by Laden
All Implemented Interfaces:
ZeitMeldung

public class Laden
extends java.lang.Object
implements ZeitMeldung


Field Summary
(package private)  Schlangenmanager manager
           
(package private)  Zeitsteuerung steuer
          Zeitsteuerobjekt
 
Constructor Summary
Laden(Zeitsteuerung steuer)
          Creates a new instance of Laden
 
Method Summary
 int countKunden()
          gibt die Anzahl der Kunden zurŸck
 void entferneKunde(Kunde k, long ende)
          der Kunde verlŠsst den Laden
 void erzeugeKunde(long startZeit)
          erzeugt einen Kunden, wenn mindestens eine Kasse offen ist
 java.util.Vector ErzeugeSchlangen()
          erzeugt die Warteschlangen zu den Kassen und meldet sie für die GUI-Erstellung zurück
 Schlangenmanager getManager()
           
 int getMaxSchlangenLaenge()
          gibt den maximalen Wert der Schlangen zurŸck
 long getMaxWartezeit()
          Gibt die maximale Wartezeit der bisher bedienten Kunden zurŸck
 double getMaxWartezeitNorm()
          Gibt die maximale normierte Wartezeit der bisher bedienten Kunden zurŸck
 double getMittlereSchlangenLaenge()
          gibt die mittlere SchlangenlŠnge zurŸck
 int getSchlangenLaenge()
          gibt die Summe der SchlangenlŠngen zurŸck
 int getSchlangenLaenge(Kasse k)
          gibt die SchlangenlŠngen fŸr eine Kasse zurŸck
 int getStrategie()
          gibt die Strategie zurŸck
 long getWartezeit()
          Gibt die durchschnittliche Wartezeit der bisher bedienten Kunden zurŸck
 double getWarteZeit(Kasse k)
          gibt die vermutete Wartezeit fŸr eine Kasse zurŸck
 double getWartezeitNorm()
          Gibt die durchschnittliche normierte Wartezeit der bisher bedienten Kunden zurŸck
 Kunde naechsterKunde(Kasse kasse)
          Gibt den Auftrag der Kasse an den Schlangenmanager weiter
 Kasse NeueKasse(int nummer)
          Erzeugt eine neue Kasse und trägt sie in die Liste der Kassen ein
 void neueZeit(long simulationszeit)
          neuZeit wird im aktuellen Zeittakt aufgerufen
 boolean nochKunden(Kasse kasse)
          Fragt den Schlangenmanager, ob fŸr Kasse "kasse" noch Kunden da sind
 void reset()
          löscht die Kundenliste und gibt die Botschaft an die Klassenliste weiter
 void resetStatistik()
          setzt die Statistikdaten zurück
 void SetAutomatik(boolean val)
          Setzt den Wert für die Kassenautomatik
 void setStrategie(int strategie)
          setzt fŸr alle Kunden die Strategie
 void setzeKundenanzahl(float anz)
          Setzt die Anzahl der pro Sekunde erzeugten Kunden
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

manager

Schlangenmanager manager

steuer

Zeitsteuerung steuer
Zeitsteuerobjekt

Constructor Detail

Laden

public Laden(Zeitsteuerung steuer)
Creates a new instance of Laden

Method Detail

countKunden

public int countKunden()
gibt die Anzahl der Kunden zurŸck


entferneKunde

public void entferneKunde(Kunde k,
                          long ende)
der Kunde verlŠsst den Laden


erzeugeKunde

public void erzeugeKunde(long startZeit)
erzeugt einen Kunden, wenn mindestens eine Kasse offen ist


ErzeugeSchlangen

public java.util.Vector ErzeugeSchlangen()
erzeugt die Warteschlangen zu den Kassen und meldet sie für die GUI-Erstellung zurück

Returns:
der Vector der erzeugten Warteschlangen

getManager

public Schlangenmanager getManager()

getMaxSchlangenLaenge

public int getMaxSchlangenLaenge()
gibt den maximalen Wert der Schlangen zurŸck


getMaxWartezeit

public long getMaxWartezeit()
Gibt die maximale Wartezeit der bisher bedienten Kunden zurŸck

Returns:
maximale Wartezeit in Sekunden

getMaxWartezeitNorm

public double getMaxWartezeitNorm()
Gibt die maximale normierte Wartezeit der bisher bedienten Kunden zurŸck

Returns:
maximale normierte Wartezeit in Sekunden

getMittlereSchlangenLaenge

public double getMittlereSchlangenLaenge()
gibt die mittlere SchlangenlŠnge zurŸck

Returns:
Summe der SchlangenlŠngen/Anzahl der nicht geschlossenen Kassen

getSchlangenLaenge

public int getSchlangenLaenge()
gibt die Summe der SchlangenlŠngen zurŸck


getSchlangenLaenge

public int getSchlangenLaenge(Kasse k)
gibt die SchlangenlŠngen fŸr eine Kasse zurŸck

Parameters:
k - Kasse, fŸr die die SchlangenlŠnge gemeldet werden soll
Returns:
die LŠnge der Schlange

getStrategie

public int getStrategie()
gibt die Strategie zurŸck

Returns:
Anstellstrategie

getWartezeit

public long getWartezeit()
Gibt die durchschnittliche Wartezeit der bisher bedienten Kunden zurŸck

Returns:
durchschnittliche Wartezeit in Sekunden

getWarteZeit

public double getWarteZeit(Kasse k)
gibt die vermutete Wartezeit fŸr eine Kasse zurŸck

Parameters:
k - Kasse, fŸr die die Wartezeit gemeldet werden soll
Returns:
die Wartezeit dan dieser Kasse

getWartezeitNorm

public double getWartezeitNorm()
Gibt die durchschnittliche normierte Wartezeit der bisher bedienten Kunden zurŸck

Returns:
durchschnittliche normierte Wartezeit in Sekunden

naechsterKunde

public Kunde naechsterKunde(Kasse kasse)
Gibt den Auftrag der Kasse an den Schlangenmanager weiter

Parameters:
kasse - die fragende Kasse
Returns:
der nŠchste Kunde fŸr diese Kasse oder null

NeueKasse

public Kasse NeueKasse(int nummer)
Erzeugt eine neue Kasse und trägt sie in die Liste der Kassen ein


neueZeit

public void neueZeit(long simulationszeit)
neuZeit wird im aktuellen Zeittakt aufgerufen

Specified by:
neueZeit in interface ZeitMeldung
Parameters:
simulationszeit - Die aktuelle simulierte Zeit in Sekunden

nochKunden

public boolean nochKunden(Kasse kasse)
Fragt den Schlangenmanager, ob fŸr Kasse "kasse" noch Kunden da sind

Parameters:
kasse - die fragende Kasse
Returns:
true: es warten noch Kunden

reset

public void reset()
löscht die Kundenliste und gibt die Botschaft an die Klassenliste weiter


resetStatistik

public void resetStatistik()
setzt die Statistikdaten zurück


SetAutomatik

public void SetAutomatik(boolean val)
Setzt den Wert für die Kassenautomatik


setStrategie

public void setStrategie(int strategie)
setzt fŸr alle Kunden die Strategie


setzeKundenanzahl

public void setzeKundenanzahl(float anz)
Setzt die Anzahl der pro Sekunde erzeugten Kunden

Parameters:
anz - Anzahl der Kunden pro Stunde