public class SimulationTime extends Object
getTime()
auf die
simulierte Zeit der jeweiligen Simulation zugegriffen werden und mit den Methoden sleep(long)
und sleepUntil(long)
kann der aufrufende Thread für eine
bestimmte Zeit im Zeitfluß der Simulation blockiert werden. Die Methode close()
sollte aufgerufen werden, wenn das Objekt zum Zugriff auf den
Zeitfluß einer Simulation nicht mehr benötigt wird.Modifier and Type | Class and Description |
---|---|
private class |
SimulationTime.InternalReceiver |
Modifier and Type | Field and Description |
---|---|
private ClientDavConnection |
_connection |
private SimulationTime.InternalReceiver |
_internalReceiver |
private boolean |
_onlineModus |
private Aspect |
_simAspect |
private AttributeGroup |
_simAttributeGroup |
private SystemObject |
_simObject |
private short |
_simulationVariant |
private long |
_time |
private Integer |
_timeNotification |
Constructor and Description |
---|
SimulationTime(short simulationVariant,
ClientDavConnection connection)
Erzeugt ein neues Objekt zum Zugriff auf den Zeitfluß einer bestimmten Simulation.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Terminiert dieses Objekt und veranlasst bei einer Offline-Simulation die notwendige Abmeldung der Simulationszeiten.
|
long |
getTime()
Bestimmt die Zeit einer Simulation.
|
void |
sleep(long timeToSleep)
Blockiert den aufrufenden Thread für die spezifizierte Zeit.
|
void |
sleepUntil(long absoluteTime)
Blockiert den aufrufenden Thread bis die spezifizierte Zeit erreicht ist.
|
private short _simulationVariant
private ClientDavConnection _connection
private boolean _onlineModus
private SystemObject _simObject
private AttributeGroup _simAttributeGroup
private Aspect _simAspect
private long _time
private final Integer _timeNotification
private SimulationTime.InternalReceiver _internalReceiver
public SimulationTime(short simulationVariant, ClientDavConnection connection) throws ConfigurationException
simulationVariant
- Simulationsvariante der zu betrachtenden Simulation.connection
- Datenverteilerverbindung über die die Kommunikation mit dem Simulationsdatengenerator durchgeführt wird.ConfigurationException
- Wenn bei der Kommunikation mit der Konfiguration Fehler aufgetreten sind.public final long getTime()
IllegalStateException
- Wenn der simulierte Zeitfluss im Falle einer Offline-Simulation nicht bestimmt werden kann.ClientDavInterface.getTime()
public final void sleep(long timeToSleep)
timeToSleep
- Wartezeit in Millisekunden seit 1970.IllegalStateException
- Wenn der simulierte Zeitfluss im Falle einer Offline-Simulation nicht bestimmt werden kann.ClientDavInterface.sleep(long)
public final void sleepUntil(long absoluteTime)
absoluteTime
- Abzuwartender Zeitpunkt in Millisekunden seit 1970.IllegalStateException
- Wenn der simulierte Zeitfluss im Falle einer Offline-Simulation nicht bestimmt werden kann.ClientDavInterface.sleepUntil(long)
public final void close() throws ConfigurationException
ConfigurationException
- Wenn bei der Kommunikation mit der Konfiguration Fehler aufgetreten sind.