org.apache.commons.exec
Interface Executor

All Known Implementing Classes:
DefaultExecutor

public interface Executor

The main abstraction to start an external process. The interface allows to

The following example shows the basic usage:
 Executor exec = new DefaultExecutor();
 CommandLine cl = new CommandLine("ls -l");
 int exitvalue = exec.execute(cl);
 


Field Summary
static int INVALID_EXITVALUE
          Invalid exit code.
 
Method Summary
 int execute(CommandLine command)
          Methods for starting synchronous execution.
 void execute(CommandLine command, ExecuteResultHandler handler)
          Methods for starting asynchronous execution.
 int execute(CommandLine command, java.util.Map environment)
          Methods for starting synchronous execution.
 void execute(CommandLine command, java.util.Map environment, ExecuteResultHandler handler)
          Methods for starting asynchronous execution.
 ProcessDestroyer getProcessDestroyer()
          Set the handler for cleanup of started processes if the main process is going to terminate.
 ExecuteStreamHandler getStreamHandler()
          Get the StreamHandler used for providing input and retrieving the output.
 ExecuteWatchdog getWatchdog()
          Get the watchdog used to kill of processes running, typically, too long time.
 java.io.File getWorkingDirectory()
          Get the working directory of the created process.
 boolean isFailure(int exitValue)
          Checks whether exitValue signals a failure.
 void setExitValue(int value)
          Define the exitValue of the process to be considered successful.
 void setExitValues(int[] values)
          Define a list of exitValue of the process to be considered successful.
 void setProcessDestroyer(ProcessDestroyer processDestroyer)
          Get the handler for cleanup of started processes if the main process is going to terminate.
 void setStreamHandler(ExecuteStreamHandler streamHandler)
          Set a custom the StreamHandler used for providing input and retrieving the output.
 void setWatchdog(ExecuteWatchdog watchDog)
          Set the watchdog used to kill of processes running, typically, too long time.
 void setWorkingDirectory(java.io.File dir)
          Set the working directory of the created process.
 

Field Detail

INVALID_EXITVALUE

static final int INVALID_EXITVALUE
Invalid exit code.

See Also:
Constant Field Values
Method Detail

setExitValue

void setExitValue(int value)
Define the exitValue of the process to be considered successful. If a different exit value is returned by the process then execute(CommandLine) will throw an ExecuteException

Parameters:
value - the exit code representing successful execution

setExitValues

void setExitValues(int[] values)
Define a list of exitValue of the process to be considered successful. The caller can pass one of the following values If an undefined exit value is returned by the process then execute(CommandLine) will throw an ExecuteException.

Parameters:
values - a list of the exit codes

isFailure

boolean isFailure(int exitValue)
Checks whether exitValue signals a failure. If no exit values are set than the default conventions of the OS is used. e.g. most OS regard an exit code of '0' as successful execution and everything else as failure.

Parameters:
exitValue - the exit value (return code) to be checked
Returns:
true if exitValue signals a failure

getStreamHandler

ExecuteStreamHandler getStreamHandler()
Get the StreamHandler used for providing input and retrieving the output.

Returns:
the StreamHandler

setStreamHandler

void setStreamHandler(ExecuteStreamHandler streamHandler)
Set a custom the StreamHandler used for providing input and retrieving the output. If you don't provide a proper stream handler the executed process might block when writing to stdout and/or stderr (see Process).

Parameters:
streamHandler - the stream handler

getWatchdog

ExecuteWatchdog getWatchdog()
Get the watchdog used to kill of processes running, typically, too long time.

Returns:
the watchdog

setWatchdog

void setWatchdog(ExecuteWatchdog watchDog)
Set the watchdog used to kill of processes running, typically, too long time.

Parameters:
watchDog - the watchdog

getProcessDestroyer

ProcessDestroyer getProcessDestroyer()
Set the handler for cleanup of started processes if the main process is going to terminate.

Returns:
the ProcessDestroyer

setProcessDestroyer

void setProcessDestroyer(ProcessDestroyer processDestroyer)
Get the handler for cleanup of started processes if the main process is going to terminate.

Parameters:
processDestroyer - the ProcessDestroyer

getWorkingDirectory

java.io.File getWorkingDirectory()
Get the working directory of the created process.

Returns:
the working directory

setWorkingDirectory

void setWorkingDirectory(java.io.File dir)
Set the working directory of the created process. The working directory must exist when you start the process.

Parameters:
dir - the working directory

execute

int execute(CommandLine command)
            throws ExecuteException,
                   java.io.IOException
Methods for starting synchronous execution. The child process inherits all environment variables of the parent process.

Parameters:
command - the command to execute
Returns:
process exit value
Throws:
ExecuteException - execution of subprocess failed or the subprocess returned a exit value indicating a failure setExitValue(int).
java.io.IOException

execute

int execute(CommandLine command,
            java.util.Map environment)
            throws ExecuteException,
                   java.io.IOException
Methods for starting synchronous execution.

Parameters:
command - the command to execute
environment - The environment for the new process. If null, the environment of the current process is used.
Returns:
process exit value
Throws:
ExecuteException - execution of subprocess failed or the subprocess returned a exit value indicating a failure setExitValue(int).
java.io.IOException

execute

void execute(CommandLine command,
             ExecuteResultHandler handler)
             throws ExecuteException,
                    java.io.IOException
Methods for starting asynchronous execution. The child process inherits all environment variables of the parent process. Result provided to callback handler.

Parameters:
command - the command to execute
handler - capture process termination and exit code
Throws:
ExecuteException - execution of subprocess failed
java.io.IOException

execute

void execute(CommandLine command,
             java.util.Map environment,
             ExecuteResultHandler handler)
             throws ExecuteException,
                    java.io.IOException
Methods for starting asynchronous execution. The child process inherits all environment variables of the parent process. Result provided to callback handler.

Parameters:
command - the command to execute
environment - The environment for the new process. If null, the environment of the current process is used.
handler - capture process termination and exit code
Throws:
ExecuteException - execution of subprocess failed
java.io.IOException


Copyright © 2011 Apache Software Foundation. All Rights Reserved.