com.sdm.quasar.client.core.common.event
Class Trigger

java.lang.Object
  extended bycom.sdm.quasar.client.core.common.event.Trigger

public class Trigger
extends java.lang.Object

Version:
1.0
Author:
Thomas Wolf

Nested Class Summary
static interface Trigger.TriggerListener
          The TriggerListener called back, when the trigger gets enabled.
 
Constructor Summary
Trigger()
          Creates a new Trigger.
 
Method Summary
 void addTriggerListener(Trigger.TriggerListener listener)
          Adds a Trigger.TriggerListener to this Trigger.
protected  java.lang.Object getTriggerValue()
          Called whenever a trigger interesent is notified about the availability of the trigger.
 boolean isTriggered()
          Returns true, if the trigger is enabled (meaning threads waiting are notified).
 boolean isUsed()
          Returns true, if someone is waiting for the trigger using waitForTrigger() or #addTriggerListener(TriggerListener), false otherwise.
 void setTriggerValue(java.lang.Object trigger_value)
          Sets the trigger value to the given value.
 void trigger()
          Triggers this Trigger.
 void trigger(java.lang.Object trigger_value)
          Triggers this Trigger together with setting the given trigger value.
 java.lang.Object waitForTrigger()
          Waits until the trigger condition (isTriggered()) is fulfilled.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Trigger

public Trigger()
Creates a new Trigger.

Method Detail

waitForTrigger

public final java.lang.Object waitForTrigger()
Waits until the trigger condition (isTriggered()) is fulfilled. The current thread waits until the trigger is available. The implementation decides if a trigger might notify all waiting threads or does notify only the next waiting - this is the case, if the trigger is like resource, that is out, if when the trigger value is returned.

Returns:
an optional trigger object
Throws:
java.lang.IllegalThreadStateException - if called from the event dispatch thread

isUsed

public boolean isUsed()
Returns true, if someone is waiting for the trigger using waitForTrigger() or #addTriggerListener(TriggerListener), false otherwise.


isTriggered

public final boolean isTriggered()
Returns true, if the trigger is enabled (meaning threads waiting are notified).


trigger

public void trigger()
Triggers this Trigger. All waiting interested parties will be notified.


trigger

public void trigger(java.lang.Object trigger_value)
Triggers this Trigger together with setting the given trigger value.

Parameters:
trigger_value - the trigger value to set.

getTriggerValue

protected java.lang.Object getTriggerValue()
Called whenever a trigger interesent is notified about the availability of the trigger. It is assured, that this method is called only one time per trigger notification.

Returns:
the optional trigger value object.

setTriggerValue

public void setTriggerValue(java.lang.Object trigger_value)
Sets the trigger value to the given value.

Parameters:
trigger_value - the trigger value to set.

addTriggerListener

public void addTriggerListener(Trigger.TriggerListener listener)
Adds a Trigger.TriggerListener to this Trigger. This listener will be called back: After calling back, the listener will be removed from this Trigger.