mapper.DataStrukture
Class TimeScheduler

java.lang.Object
  extended by mapper.DataStrukture.TimeScheduler

public class TimeScheduler
extends java.lang.Object

Diese Klasse enthält und verarbeitet die TimeSlots und überprüft, ob diese richtig vom Anwender gesetzt worden sind. Einige einträge in dieser Klasse scheinen nicht sinnvoll zu sein, jedoch habe ich statt einer Arraylist, anfangs ein HashMap verwendet, das sich jedoch, als nicht praktikabel herausstellte, um einer komplette Neuimplementierung der auf diese Klasse zugreifenden Methoden zu unterbinden, habe ich die Datenstruktur, den alten Gegebenheiten angepasst.

Author:
Emanuel Eden

Field Summary
(package private)  int _firstElement
           
(package private)  int _lastElement
           
(package private)  boolean _noElementsAnymore
           
(package private)  double _simulationTime
           
(package private)  java.util.ArrayList _timeSlotList
           
 
Constructor Summary
TimeScheduler(double simulationTime)
          Initialisierung eines neuen TimeSchedulers mit der komplette Laufzeit der Simulation
 
Method Summary
 int getFirstKey()
          Liefert die Position des ersten TimeSlots im TimeScheduler.
 TimeSlot getFirstTimeSlot()
          Liefert den ersten TimeSlot im TimeScheduler zurück
 int getLastKey()
          Liefert den Positions Key des letzten TimeSlots zurück
 TimeSlot getLastTimeSlot()
          Liefert den letzten TimeSlot im TimeScheduler zurück
 double getSimTime()
          Liefert die Simulationszeit des TimeSchedulers.
 int getSuccessor(int key)
          Liefert den Nachfolger eines TimeSlots
 TimeSlot getTimeSlot(int key)
          Liefert den TimeSlot an der angegebenen Position zurück.
 boolean isElementsAnymore()
          Erfragt, ob noch Elemente zum TimeScheduler hinzugefügt werden dürfen.
 boolean setTimeSlot(TimeSlot timeSlot)
          Fügt einen Neuen TimeSlot in den TimeScheduler ein.
 int Size()
          Liefert die Grösse der TimeScheduler Liste zurück
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_timeSlotList

java.util.ArrayList _timeSlotList

_firstElement

int _firstElement

_lastElement

int _lastElement

_simulationTime

double _simulationTime

_noElementsAnymore

boolean _noElementsAnymore
Constructor Detail

TimeScheduler

public TimeScheduler(double simulationTime)
Initialisierung eines neuen TimeSchedulers mit der komplette Laufzeit der Simulation

Parameters:
simulationTime - Simulationszeit in Sekunden.
Method Detail

getSimTime

public double getSimTime()
Liefert die Simulationszeit des TimeSchedulers. Eigentlich könnte die Simulationslauf- zeit auch durch dieValueNew Struktur ermittelt werden. Zum bessern Verständnis gibt jedes TimeScheduler Objekt seine Laufzeit zurück, obgleich sie immer den selben Wert hat

Returns:
double Simulationslaufzeit

setTimeSlot

public boolean setTimeSlot(TimeSlot timeSlot)
Fügt einen Neuen TimeSlot in den TimeScheduler ein. Dieses TimeSlot Element kann nur an das Ende der Liste abgefügt werden. Ein Hinzufügen von TimeSlot Elementen ist dann nicht mehr möglich, wenn die Laufzeit des TimeSchedulers überschritten wurde.

Parameters:
timeSlot - Hinzuzufügendes TimeSlot Element
Returns:
boolean Wert, ob der TimeSlot auch hinzugefügt wurde, oder ob ein Hinzufügen untersagt wurde.

getFirstKey

public int getFirstKey()
Liefert die Position des ersten TimeSlots im TimeScheduler.

Returns:
int PositionsKey des ersten Elementes

getFirstTimeSlot

public TimeSlot getFirstTimeSlot()
Liefert den ersten TimeSlot im TimeScheduler zurück

Returns:
TimeSlot Erstes Element im TimeScheduler

getLastKey

public int getLastKey()
Liefert den Positions Key des letzten TimeSlots zurück

Returns:
int PositionsKey des letzen TimeSlots im TimeScheduler

getLastTimeSlot

public TimeSlot getLastTimeSlot()
Liefert den letzten TimeSlot im TimeScheduler zurück

Returns:
TimeSlot Letzes Element im TimeScheduler

getTimeSlot

public TimeSlot getTimeSlot(int key)
Liefert den TimeSlot an der angegebenen Position zurück.

Parameters:
key - Integer Wert des TimeSlots
Returns:
TimeSlot an der angegebenen Position

getSuccessor

public int getSuccessor(int key)
Liefert den Nachfolger eines TimeSlots

Parameters:
key - Integerwert des verfügbaren Timeslots
Returns:
int TimeSlot Positionskey des Nachfolgers

Size

public int Size()
Liefert die Grösse der TimeScheduler Liste zurück

Returns:
int Grösse des TimeScheduler Liste.

isElementsAnymore

public boolean isElementsAnymore()
Erfragt, ob noch Elemente zum TimeScheduler hinzugefügt werden dürfen.

Returns:
boolean false falls noch Elemente hinzugefügt werden dürfen.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object