Class DelayedTrigger

java.lang.Object
de.bsvrz.sys.funclib.concurrent.DelayedTrigger
All Implemented Interfaces:
Trigger

public class DelayedTrigger
extends java.lang.Object
implements Trigger
Definiert einen Trigger mit verzögerter Auslösung.
  • Constructor Summary

    Constructors
    Constructor Description
    DelayedTrigger​(java.lang.String threadName, int maximumDelayedTriggerCount, long delayDuration, long maximumDelayDuration)
    Erzeugt ein neues Triggerobjekt mit den angegebenen Eigenschaften
  • Method Summary

    Modifier and Type Method Description
    void addTriggerTarget​(TriggerTarget triggerTarget)
    Fügt dem Trigger ein neues TriggerTarget, das beim Auslösen und Schließen des Triggers benachrichtigt werden soll, hinzu.
    void close()
    Schließt den Trigger.
    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
    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
  • Constructor Details

    • DelayedTrigger

      public DelayedTrigger​(java.lang.String threadName, int maximumDelayedTriggerCount, long delayDuration, long maximumDelayDuration)
      Erzeugt ein neues Triggerobjekt mit den angegebenen Eigenschaften
      Parameters:
      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 Details

    • trigger

      public void trigger()
      Führt zu einer verzögerten Auslösung des Triggers mit einer asynchronen Benachrichtigung aller angemeldeten TriggerTargets
    • shoot

      public void shoot()
      Führt zu einer sofortigen Auslösung des Triggers mit einer asynchronen Benachrichtigung aller angemeldeten TriggerTargets
    • close

      public void close()
      Schließt den Trigger. Die sofortige Auslösung des Triggers wird angestoßen, falls vorherige verzögerte Trigger-Aufrufe noch nicht zu einer Auslösung des Triggers geführt haben. Alle angemeldeten TriggerTargets werden anschließend über das Schließen des Triggers benachrichtigt. Der Thread zur asynchronen Benachrichtigung der TriggerTargets wird beendet.
    • addTriggerTarget

      public void addTriggerTarget​(TriggerTarget triggerTarget)
      Description copied from interface: Trigger
      Fügt dem Trigger ein neues TriggerTarget, das beim Auslösen und Schließen des Triggers benachrichtigt werden soll, hinzu.
      Specified by:
      addTriggerTarget in interface Trigger
      Parameters:
      triggerTarget - Listener-Objekt, das zukünftig beim Auslösen oder Schließen des Triggers benachrichtigt werden soll.
    • removeTriggerTarget

      public void removeTriggerTarget​(TriggerTarget triggerTarget)
      Description copied from interface: Trigger
      Entfernt ein vorher hinzugefügtes TriggerTarget.
      Specified by:
      removeTriggerTarget in interface Trigger
      Parameters:
      triggerTarget - Listener-Objekt, das entfernt werden soll.