Package org.apache.tools.ant.util

# Class Watchdog

java.lang.Object
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

Fields
Modifier and Type | Field | Description
--- | --- | ---
`static java.lang.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 java.lang.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 `java.lang.Runnable`