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
`static int` `POLL_INTERVAL` Deprecated. does not make sense anymore. Superseded by `Object.wait(long)`

### Constructor Summary

Constructors
Constructor and 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

All Methods Instance Methods Concrete Methods
`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 Detail

#### 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 Detail

#### 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 Detail

#### 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