public class ContextualProcessExecutor extends Object implements ProcessExecutor
ProcessExecutor.LaunchedProcess, ProcessExecutor.LaunchedProcessImpl, ProcessExecutor.Option, ProcessExecutor.Result
Constructor and Description |
---|
ContextualProcessExecutor(ProcessExecutor delegate,
com.google.common.collect.ImmutableMap<String,String> context) |
public ContextualProcessExecutor(ProcessExecutor delegate, com.google.common.collect.ImmutableMap<String,String> context)
public ProcessExecutor getDelegate()
public ProcessExecutor.LaunchedProcess launchProcess(ProcessExecutorParams params) throws IOException
ProcessExecutor
Process
given ProcessExecutorParams
.launchProcess
in interface ProcessExecutor
IOException
public ProcessExecutor.LaunchedProcess launchProcess(ProcessExecutorParams params, com.google.common.collect.ImmutableMap<String,String> context) throws IOException
launchProcess
in interface ProcessExecutor
IOException
public ProcessExecutor.Result launchAndExecute(ProcessExecutorParams params) throws InterruptedException, IOException
ProcessExecutor
ProcessExecutor.launchAndExecute(ProcessExecutorParams, Set, Optional, Optional,
Optional)
with boolean values set to false
and optional values set to absent.launchAndExecute
in interface ProcessExecutor
InterruptedException
IOException
public ProcessExecutor.Result launchAndExecute(ProcessExecutorParams params, com.google.common.collect.ImmutableMap<String,String> context) throws InterruptedException, IOException
launchAndExecute
in interface ProcessExecutor
InterruptedException
IOException
public ProcessExecutor.Result launchAndExecute(ProcessExecutorParams params, Set<ProcessExecutor.Option> options, Optional<String> stdin, Optional<Long> timeOutMs, Optional<java.util.function.Consumer<Process>> timeOutHandler) throws InterruptedException, IOException
ProcessExecutor
params
.
If options
contains ProcessExecutor.Option.PRINT_STD_OUT
, then the stdout of the process
will be written directly to the stdout passed to the constructor of this executor. Otherwise,
the stdout of the process will be made available via ProcessExecutor.Result.getStdout()
.
If options
contains ProcessExecutor.Option.PRINT_STD_ERR
, then the stderr of the process
will be written directly to the stderr passed to the constructor of this executor. Otherwise,
the stderr of the process will be made available via ProcessExecutor.Result.getStderr()
.
launchAndExecute
in interface ProcessExecutor
InterruptedException
IOException
public ProcessExecutor.Result launchAndExecute(ProcessExecutorParams params, com.google.common.collect.ImmutableMap<String,String> context, Set<ProcessExecutor.Option> options, Optional<String> stdin, Optional<Long> timeOutMs, Optional<java.util.function.Consumer<Process>> timeOutHandler) throws InterruptedException, IOException
launchAndExecute
in interface ProcessExecutor
InterruptedException
IOException
public ProcessExecutor.Result waitForLaunchedProcess(ProcessExecutor.LaunchedProcess launchedProcess) throws InterruptedException
ProcessExecutor
ProcessExecutor.launchProcess(ProcessExecutorParams)
to exit, then returns the exit code of the process.
After this method returns, the launchedProcess
can no longer be passed to any
methods of this object.
waitForLaunchedProcess
in interface ProcessExecutor
InterruptedException
public ProcessExecutor.Result waitForLaunchedProcessWithTimeout(ProcessExecutor.LaunchedProcess launchedProcess, long millis, Optional<java.util.function.Consumer<Process>> timeOutHandler) throws InterruptedException
ProcessExecutor
ProcessExecutor.waitForLaunchedProcess(LaunchedProcess)
but with a timeout in milliseconds.waitForLaunchedProcessWithTimeout
in interface ProcessExecutor
InterruptedException
public void destroyLaunchedProcess(ProcessExecutor.LaunchedProcess launchedProcess)
ProcessExecutor
ProcessExecutor.launchProcess(ProcessExecutorParams)
.destroyLaunchedProcess
in interface ProcessExecutor
public ProcessExecutor cloneWithOutputStreams(PrintStream newStdOutStream, PrintStream newStdErrStream)
ProcessExecutor
cloneWithOutputStreams
in interface ProcessExecutor