org.apache.tools.ant.util
Class Watchdog

java.lang.Object
  extended by org.apache.tools.ant.util.Watchdog
All Implemented Interfaces:
java.lang.Runnable

public class Watchdog
extends java.lang.Object
implements java.lang.Runnable

Generalization of ExecuteWatchdog

Since:
Ant 1.5
See Also:
ExecuteWatchdog

Field Summary
static java.lang.String ERROR_INVALID_TIMEOUT
          Error string.
 
Constructor Summary
Watchdog(long timeout)
          Constructor for Watchdog.
 
Method Summary
 void addTimeoutObserver(TimeoutObserver to)
          Add a timeout observer.
protected  void fireTimeoutOccured()
          Inform the observers that a timeout has occurred.
 void removeTimeoutObserver(TimeoutObserver to)
          Remove a timeout observer.
 void run()
          The run method of the watch dog thread.
 void start()
          Start the watch dog.
 void stop()
          Stop the watch dog.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ERROR_INVALID_TIMEOUT

public static final java.lang.String ERROR_INVALID_TIMEOUT
Error string. "timeout less than 1."

See Also:
Constant Field Values
Constructor Detail

Watchdog

public Watchdog(long timeout)
Constructor for Watchdog.

Parameters:
timeout - the timeout to use in milliseconds (must be >= 1).
Method Detail

addTimeoutObserver

public void addTimeoutObserver(TimeoutObserver to)
Add a timeout observer.

Parameters:
to - the timeout observer to add.

removeTimeoutObserver

public void removeTimeoutObserver(TimeoutObserver to)
Remove a timeout observer.

Parameters:
to - the timeout observer to remove.

fireTimeoutOccured

protected final void fireTimeoutOccured()
Inform the observers that a timeout has occurred. This happens in the watchdog thread.


start

public void start()
Start the watch dog.


stop

public void stop()
Stop the watch dog.


run

public void run()
The run method of the watch dog thread. This simply does a wait for the timeout time, and if the stop flag has not been set when the wait has returned or has been interrupted, the watch dog listeners are informed.

Specified by:
run in interface java.lang.Runnable