Package org.apache.tools.ant.util

# Class Watchdog

java.lang.Object
org.apache.tools.ant.util.Watchdog

All Implemented Interfaces:
  `Runnable`

public class Watchdog extends Object implements Runnable
Generalization of `ExecuteWatchdog`

Since:
  Ant 1.5
See Also:
  `ExecuteWatchdog`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static String`
  `ERROR_INVALID_TIMEOUT`
  Error string.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Watchdog​(long timeout)`
  Constructor for Watchdog.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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 Details

  - ### ERROR_INVALID_TIMEOUT

    public static final String ERROR_INVALID_TIMEOUT
    Error string. "timeout less than 1."
    See Also:
      Constant Field Values

- ## Constructor Details

  - ### Watchdog

    public Watchdog​(long timeout)
    Constructor for Watchdog.
    Parameters:
      `timeout` - the timeout to use in milliseconds (must be >= 1).

- ## Method Details

  - ### 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 `Runnable`