@Override public String toString() { return new StringBuilder("CaptureMode: ") .append(" [capture="+isCapture()) .append("], [memory-limit=" + getLimit() / 1024 + "kB") .append("], [log="+isLog()) .append("]") .toString(); } }
/** * Spawns a new process using the Java Runtime API. * * @see SystemInfo#executeProcess(ProcessExecution) */ public ProcessExecutionResults executeProcess(ProcessExecution processExecution) { ProcessToStart process = new ProcessToStart(); ProcessExecutionResults executionResults = new ProcessExecutionResults(); process.setProgramExecutable(processExecution.getExecutable()); process.setCheckExecutableExists(processExecution.isCheckExecutableExists()); process.setArguments(processExecution.getArgumentsAsArray()); process.setEnvironment(processExecution.getEnvironmentVariablesAsArray()); process.setWorkingDirectory(processExecution.getWorkingDirectory()); process.setWaitForExit(Long.valueOf(processExecution.getWaitForCompletion())); process.setCaptureOutput(Boolean.valueOf(processExecution.getCaptureMode().isCapture())); process.setKillOnTimeout(Boolean.valueOf(processExecution.isKillOnTimeout())); ProcessExecutionOutputStream outputStream = processExecution.getCaptureMode().createOutputStream(); process.setOutputStream(outputStream); executionResults.setCapturedOutputStream(outputStream); ProcessExecutorResults javaExecResults = javaExec.execute(process); executionResults.setExitCode(javaExecResults.getExitCode()); executionResults.setError(javaExecResults.getError()); executionResults.setProcess(javaExecResults.getProcess()); return executionResults; }
/** * * @return whether capture process output * @deprecated */ public boolean isCaptureOutput() { return this.captureMode.isCapture(); }