DefaultExecuteResultHandler
Date: 2017-01-22

org.apache.commons.exec

## Class DefaultExecuteResultHandler

- java.lang.Object
- - org.apache.commons.exec.DefaultExecuteResultHandler

- All Implemented Interfaces:
    ExecuteResultHandler

      public class DefaultExecuteResultHandler
      extends java.lang.Object
      implements ExecuteResultHandler

  A default implementation of 'ExecuteResultHandler' used for asynchronous process handling.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultExecuteResultHandler()` Constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ExecuteException` | `getException()` Get the `exception` causing the process execution to fail.
    `int` | `getExitValue()` Get the `exitValue` of the process.
    `boolean` | `hasResult()` Has the process exited and a result is available, i.e.
    `void` | `onProcessComplete(int exitValue)` The asynchronous execution completed.
    `void` | `onProcessFailed(ExecuteException e)` The asynchronous execution failed.
    `void` | `waitFor()` Causes the current thread to wait, if necessary, until the process has terminated.
    `void` | `waitFor(long timeout)` Causes the current thread to wait, if necessary, until the process has terminated.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DefaultExecuteResultHandler

          public DefaultExecuteResultHandler()

      Constructor.

  - ### Method Detail

    - #### 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:
        `ExecuteResultHandler.onProcessComplete(int)`

    - #### 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:
        `ExecuteResultHandler.onProcessFailed(org.apache.commons.exec.ExecuteException)`

    - #### getException

          public ExecuteException getException()

      Get the `exception` causing the process execution to fail.
      Returns:
        Returns the exception.
      Throws:
        `java.lang.IllegalStateException` - if the process has not exited yet

    - #### getExitValue

          public int getExitValue()

      Get the `exitValue` of the process.
      Returns:
        Returns the exitValue.
      Throws:
        `java.lang.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 java.lang.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:
        `java.lang.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 java.lang.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:
        `java.lang.InterruptedException` - if the current thread is interrupted by another thread while it is waiting, then the wait is ended and an `InterruptedException` is thrown.