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 and Description
      static java.lang.String ERROR_INVALID_TIMEOUT
      Error string.
    • Constructor Summary

      Constructors 
      Constructor and Description
      Watchdog(long timeout)
      Constructor for Watchdog.
    • 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