org.apache.commons.exec.launcher
Class VmsCommandLauncher

java.lang.Object
  extended by org.apache.commons.exec.launcher.CommandLauncherImpl
      extended by org.apache.commons.exec.launcher.Java13CommandLauncher
          extended by org.apache.commons.exec.launcher.VmsCommandLauncher
All Implemented Interfaces:
CommandLauncher

public class VmsCommandLauncher
extends Java13CommandLauncher

A command launcher for VMS that writes the command to a temporary DCL script before launching commands. This is due to limitations of both the DCL interpreter and the Java VM implementation.


Constructor Summary
VmsCommandLauncher()
           
 
Method Summary
 Process exec(CommandLine cmd, Map env)
          Launches the given command in a new process.
 Process exec(CommandLine cmd, Map env, File workingDir)
          Launches the given command in a new process, in the given working directory.
 boolean isFailure(int exitValue)
          Checks 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
 

Constructor Detail

VmsCommandLauncher

public VmsCommandLauncher()
Method Detail

exec

public Process exec(CommandLine cmd,
                    Map env)
             throws IOException
Launches the given command in a new process.

Specified by:
exec in interface CommandLauncher
Overrides:
exec in class CommandLauncherImpl
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 Process exec(CommandLine cmd,
                    Map env,
                    File workingDir)
             throws IOException
Launches the given command in a new process, in the given working directory. Note that under Java 1.3.1, 1.4.0 and 1.4.1 on VMS this method only works if workingDir is null or the logical JAVA$FORK_SUPPORT_CHDIR needs to be set to TRUE.

Specified by:
exec in interface CommandLauncher
Overrides:
exec in class Java13CommandLauncher
Parameters:
cmd - the command line to execute as an array of strings
env - the environment to set as an array of strings
workingDir - the working directory where the command should run
Returns:
the newly created process
Throws:
IOException - probably forwarded from Runtime#exec

isFailure

public boolean isFailure(int exitValue)
Description copied from interface: CommandLauncher
Checks 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
Overrides:
isFailure in class CommandLauncherImpl
Parameters:
exitValue - the exit value (return code) to be checked
Returns:
true if exitValue signals a failure
See Also:
CommandLauncher.isFailure(int)


Copyright © 2001-2009 The Apache Software Foundation. All Rights Reserved.