Package org.apache.jorphan.exec

# Class SystemCommand

java.lang.Object
org.apache.jorphan.exec.SystemCommand

public class SystemCommand extends Object
Utility class for invoking native system applications

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `POLL_INTERVAL`
  Deprecated.
  does not make sense anymore.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SystemCommand(File directory, long timeoutMillis, int pollInterval, Map<String,String> env, InputStream stdin, OutputStream stdout, OutputStream stderr)`
  `SystemCommand(File directory, long timeoutMillis, int pollInterval, Map<String,String> env, String stdin, String stdout, String stderr)`
  `SystemCommand(File directory, Map<String,String> env)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Map<String,String>`
  `getExecutionEnvironment()`
  Returns the executionEnvironment.
  `String`
  `getOutResult()`
  Returns Out/Err stream contents
  `int`
  `run(List<String> arguments)`
  Runs the command with given arguments and returns its return code.
  `int`
  `run(List<String> arguments1, List<String> arguments2)`
  Pipe the output of one command into another

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

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

- ## Field Details

  - ### POLL_INTERVAL

    @Deprecated public static final int POLL_INTERVAL
    Deprecated.
    does not make sense anymore. Superseded by `Object.wait(long)`
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### SystemCommand

    public SystemCommand(File directory, Map<String,String> env)
    Parameters:
      `env` - Environment variables appended to environment (may be null)
      `directory` - File working directory (may be null)

  - ### SystemCommand

    public SystemCommand(File directory, long timeoutMillis, int pollInterval, Map<String,String> env, String stdin, String stdout, String stderr) throws IOException
    Parameters:
      `env` - Environment variables appended to environment (may be null)
      `directory` - File working directory (may be null)
      `timeoutMillis` - timeout in Milliseconds
      `pollInterval` - Value used to poll for Process execution end
      `stdin` - File name that will contain data to be input to process (may be null)
      `stdout` - File name that will contain out stream (may be null)
      `stderr` - File name that will contain err stream (may be null)
    Throws:
      `IOException` - if the input file is not found or output cannot be written

  - ### SystemCommand

    public SystemCommand(File directory, long timeoutMillis, int pollInterval, Map<String,String> env, InputStream stdin, OutputStream stdout, OutputStream stderr)
    Parameters:
      `env` - Environment variables appended to environment (may be null)
      `directory` - File working directory (may be null)
      `timeoutMillis` - timeout in Milliseconds
      `pollInterval` - not used anymore
      `stdin` - File name that will contain data to be input to process (may be null)
      `stdout` - File name that will contain out stream (may be null)
      `stderr` - File name that will contain err stream (may be null)

- ## Method Details

  - ### run

    public int run(List<String> arguments) throws InterruptedException, IOException, TimeoutException
    Runs the command with given arguments and returns its return code.
    Parameters:
      `arguments` - List of strings, not null
    Returns:
      return code
    Throws:
      `InterruptedException` - when execution was interrupted
      `IOException` - when I/O error occurs while execution
      `TimeoutException` - when timeout is reached while execution

  - ### run

    public int run(List<String> arguments1, List<String> arguments2) throws InterruptedException, IOException, TimeoutException
    Pipe the output of one command into another
    Parameters:
      `arguments1` - first command to run
      `arguments2` - second command to run
    Returns:
      exit status
    Throws:
      `InterruptedException` - when execution gets interrupted
      `TimeoutException` - when timeout is reached while execution
      `IOException` - when I/O error occurs while execution

  - ### getOutResult

    public String getOutResult()
    Returns Out/Err stream contents
    Returns:
      Out/Err stream contents

  - ### getExecutionEnvironment

    public Map<String,String> getExecutionEnvironment()
    Returns the executionEnvironment.
    Returns:
      the executionEnvironment