|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.sys.funclib.concurrent.DelayedTrigger
public class DelayedTrigger
Definiert einen Trigger mit verzögerter Auslösung.
Nested Class Summary | |
---|---|
private class |
DelayedTrigger.AsyncTriggerThreadRunnable
Runnable mit der run-Methode, die in einem eigenen Thread ausgeführt wird und die TriggerTargets asynchron benachrichtigt. |
Field Summary | |
---|---|
private boolean |
_closed
true , wenn die close-Methode aufgerufen wurde; sonst false . |
private long |
_delayDuration
Verzögerungszeit in der nach einem Trigger-Aufrufe auf weitere Trigger-Aufrufe gewartet wird, bevor die sofortige Auslösung angestoßen wird. |
private int |
_delayedTriggerCount
Aktuelle Anzahl der Trigger-Aufrufe. |
private long |
_maximumDelayDuration
Maximale Verzögerungszeit in der nach dem jeweils ersten Trigger-Aufruf auf weitere Trigger-Aufrufe gewartet wird, bevor die sofortige Auslösung angestoßen wird. |
private int |
_maximumDelayedTriggerCount
Anzahl der Trigger-Aufrufe, nach der die sofortige Auslösung angestoßen wird. |
private long |
_maximumTriggeringTime
Zeitpunkt an dem die sofortige Auslösung angestoßen wird. |
private long |
_triggeringTime
Zeitpunkt an dem die sofortige Auslösung angestoßen wird, wenn nicht vorher ein weiterer Trigger-Aufruf stattfindet. |
private List<TriggerTarget> |
_triggerTargets
Listener, die beim Auslösen und Schließen des Triggers benachrichtigt werden sollen. |
Constructor Summary | |
---|---|
DelayedTrigger(String threadName,
int maximumDelayedTriggerCount,
long delayDuration,
long maximumDelayDuration)
Erzeugt ein neues Triggerobjekt mit den angegebenen Eigenschaften |
Method Summary | |
---|---|
void |
addTriggerTarget(TriggerTarget triggerTarget)
Fügt dem Trigger ein neues TriggerTarget, das beim Auslösen und Schließen des Triggers benachrichtigt werden soll, hinzu. |
private boolean |
awaitTrigger()
Wartet bis der Trigger ausgelöst werden soll oder der Trigger geschlossen wurde. |
void |
close()
Schließt den Trigger. |
private void |
closeTriggerTargets()
Benachrichtigt alle TriggerTargets über das Auslösen des Triggers |
void |
removeTriggerTarget(TriggerTarget triggerTarget)
Entfernt ein vorher hinzugefügtes TriggerTarget. |
void |
shoot()
Führt zu einer sofortigen Auslösung des Triggers mit einer asynchronen Benachrichtigung aller angemeldeten TriggerTargets |
private void |
shootTriggerTargets()
Benachrichtigt alle TriggerTargets über das Auslösen des Triggers |
void |
trigger()
Führt zu einer verzögerten Auslösung des Triggers mit einer asynchronen Benachrichtigung aller angemeldeten TriggerTargets |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final List<TriggerTarget> _triggerTargets
private int _maximumDelayedTriggerCount
private int _delayedTriggerCount
private long _delayDuration
private long _triggeringTime
_delayDuration
gesetzt.
private long _maximumDelayDuration
private long _maximumTriggeringTime
_maximumDelayDuration
gesetzt.
private boolean _closed
true
, wenn die close-Methode aufgerufen wurde; sonst false
.
Constructor Detail |
---|
public DelayedTrigger(String threadName, int maximumDelayedTriggerCount, long delayDuration, long maximumDelayDuration)
threadName
- Name des Threads für die asynchrone Auslösung des Triggers.maximumDelayedTriggerCount
- Anzahl der Trigger-Aufrufe, nach der die sofortige Auslösung angestoßen wird.delayDuration
- Verzögerungszeit in der nach einem Trigger-Aufrufe auf weitere Trigger-Aufrufe gewartet wird, bevor die sofortige
Auslösung angestoßen wird.maximumDelayDuration
- Maximale Verzögerungszeit in der nach dem jeweils ersten Trigger-Aufruf auf weitere Trigger-Aufrufe gewartet wird, bevor
die sofortige Auslösung angestoßen wird.Method Detail |
---|
public void trigger()
public void shoot()
public void close()
private boolean awaitTrigger() throws InterruptedException
false
, wenn der Trigger ausgelöst werden kann; true
, wenn der Trigger geschlossen wurde.
InterruptedException
- Wenn der Thread vor oder während des Wartens unterbrochen wurde.public void addTriggerTarget(TriggerTarget triggerTarget)
Trigger
addTriggerTarget
in interface Trigger
triggerTarget
- Listener-Objekt, das zukünftig beim Auslösen oder Schließen des Triggers benachrichtigt werden soll.public void removeTriggerTarget(TriggerTarget triggerTarget)
Trigger
removeTriggerTarget
in interface Trigger
triggerTarget
- Listener-Objekt, das entfernt werden soll.private void shootTriggerTargets()
private void closeTriggerTargets()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |