Package org.apache.commons.exec.launcher

# Class CommandLauncherImpl

java.lang.Object
org.apache.commons.exec.launcher.CommandLauncherImpl

All Implemented Interfaces:
  `CommandLauncher`

Direct Known Subclasses:
  `CommandLauncherProxy`, `Java13CommandLauncher`

public abstract class CommandLauncherImpl extends Object implements CommandLauncher
A command launcher for a particular JVM/OS platform. This class is a general purpose command launcher which can only launch commands in the current working directory.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CommandLauncherImpl()`
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Process`
  `exec(CommandLine cmd, Map<String,String> env)`
  Executes the given command in a new process.
  `abstract Process`
  `exec(CommandLine cmd, Map<String,String> env, File workingDir)`
  Executes the given command in a new process, in the given working directory.
  `boolean`
  `isFailure(int exitValue)`
  Tests whether `exitValue` signals a failure on the current system (OS specific).

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

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

  ### Methods inherited from interface org.apache.commons.exec.launcher.CommandLauncher

  `exec`

- ## Constructor Details

  - ### CommandLauncherImpl

    public CommandLauncherImpl()
    Constructs a new instance.

- ## Method Details

  - ### exec

    public Process exec(CommandLine cmd, Map<String,String> env) throws IOException
    Description copied from interface: `CommandLauncher`
    Executes the given command in a new process.
    Specified by:
      `exec` in interface `CommandLauncher`
    Parameters:
      `cmd` - The command to execute.
      `env` - The environment for the new process. If null, the environment of the current process is used.
    Returns:
      the newly created process.
    Throws:
      `IOException` - if attempting to run a command in a specific directory.

  - ### exec

    public abstract Process exec(CommandLine cmd, Map<String,String> env, File workingDir) throws IOException
    Description copied from interface: `CommandLauncher`
    Executes the given command in a new process, in the given working directory.
    Specified by:
      `exec` in interface `CommandLauncher`
    Parameters:
      `cmd` - The command to execute.
      `env` - The environment for the new process. If null, the environment of the current process is used.
      `workingDir` - The directory to start the command in. If null, the current directory is used.
    Returns:
      the newly created process.
    Throws:
      `IOException` - if trying to change directory.

  - ### isFailure

    public boolean isFailure(int exitValue)
    Description copied from interface: `CommandLauncher`
    Tests whether `exitValue` signals a failure on the current system (OS specific).

    Note that this method relies on the conventions of the OS, it will return false results if the application you are running doesn't follow these conventions. One notable exception is the Java VM provided by HP for OpenVMS - it will return 0 if successful (like on any other platform), but this signals a failure on OpenVMS. So if you execute a new Java VM on OpenVMS, you cannot trust this method.

    Specified by:
      `isFailure` in interface `CommandLauncher`
    Parameters:
      `exitValue` - the exit value (return code) to be checked.
    Returns:
      `true` if `exitValue` signals a failure.
    See Also:
      - `CommandLauncher.isFailure(int)`