Class DefaultExecuteResultHandler

java.lang.Object
org.apache.commons.exec.DefaultExecuteResultHandler
All Implemented Interfaces:
ExecuteResultHandler

public class DefaultExecuteResultHandler extends Object implements ExecuteResultHandler
A default implementation of 'ExecuteResultHandler' used for asynchronous process handling.
Version:
$Id: DefaultExecuteResultHandler.java 1636057 2014-11-01 21:14:00Z ggregory $
  • Field Details

    • SLEEP_TIME_MS

      private static final int SLEEP_TIME_MS
      the interval polling the result
      See Also:
    • hasResult

      private volatile boolean hasResult
      Keep track if the process is still running
    • exitValue

      private volatile int exitValue
      The exit value of the finished process
    • exception

      private volatile ExecuteException exception
      Any offending exception
  • Constructor Details

    • DefaultExecuteResultHandler

      public DefaultExecuteResultHandler()
      Constructor.
  • Method Details

    • onProcessComplete

      public void onProcessComplete(int exitValue)
      Description copied from interface: ExecuteResultHandler
      The asynchronous execution completed.
      Specified by:
      onProcessComplete in interface ExecuteResultHandler
      Parameters:
      exitValue - the exit value of the sub-process
      See Also:
    • onProcessFailed

      public void onProcessFailed(ExecuteException e)
      Description copied from interface: ExecuteResultHandler
      The asynchronous execution failed.
      Specified by:
      onProcessFailed in interface ExecuteResultHandler
      Parameters:
      e - the ExecuteException containing the root cause
      See Also:
    • getException

      public ExecuteException getException()
      Get the exception causing the process execution to fail.
      Returns:
      Returns the exception.
      Throws:
      IllegalStateException - if the process has not exited yet
    • getExitValue

      public int getExitValue()
      Get the exitValue of the process.
      Returns:
      Returns the exitValue.
      Throws:
      IllegalStateException - if the process has not exited yet
    • hasResult

      public boolean hasResult()
      Has the process exited and a result is available, i.e. exitCode or exception?
      Returns:
      true if a result of the execution is available
    • waitFor

      public void waitFor() throws InterruptedException
      Causes the current thread to wait, if necessary, until the process has terminated. This method returns immediately if the process has already terminated. If the process has not yet terminated, the calling thread will be blocked until the process exits.
      Throws:
      InterruptedException - if the current thread is interrupted by another thread while it is waiting, then the wait is ended and an InterruptedException is thrown.
    • waitFor

      public void waitFor(long timeout) throws InterruptedException
      Causes the current thread to wait, if necessary, until the process has terminated. This method returns immediately if the process has already terminated. If the process has not yet terminated, the calling thread will be blocked until the process exits.
      Parameters:
      timeout - the maximum time to wait in milliseconds
      Throws:
      InterruptedException - if the current thread is interrupted by another thread while it is waiting, then the wait is ended and an InterruptedException is thrown.