Class 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

      All Methods Instance Methods Concrete Methods 
      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 Detail

      • 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 Detail

      • 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.