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 and Description
    --- | ---
    `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
    Modifier and Type | Method and 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 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

Copyright © 1998-2022 Apache Software Foundation. All Rights Reserved.