public class ProcessConfigurationBuilder extends Object
| Constructor and Description |
|---|
ProcessConfigurationBuilder(String executable)
Creates a new process configuration builder.
|
| Modifier and Type | Method and Description |
|---|---|
ProcessConfigurationBuilder |
arguments(List<String> arguments)
Adds the process arguments, ignoring
null elements. |
ProcessConfigurationBuilder |
arguments(String... arguments)
Adds the process arguments.
|
ProcessConfiguration |
build()
Builds the process configuration.
|
ProcessConfigurationBuilder |
charset(Charset charset)
Sets the charset of the subprocess streams used if the redirect type is STRING.
|
ProcessConfigurationBuilder |
env(Map<String,String> env)
Adds the environment variables.
|
ProcessConfigurationBuilder |
env(String name,
String value)
Adds the environment variable.
|
ProcessConfigurationBuilder |
errorAsConsumer()
A convenience method to set the process error redirect type
CONSUMER. |
ProcessConfigurationBuilder |
errorAsConsumer(Consumer<String> errorLineConsumer)
A convenience method to set the process error redirect type
CONSUMER. |
ProcessConfigurationBuilder |
errorAsException()
A convenience method to set the process error redirect type
EXCEPTION. |
ProcessConfigurationBuilder |
errorAsFile(String errorFile)
A convenience method to set the process error redirect type
FILE. |
ProcessConfigurationBuilder |
errorAsInherit()
A convenience method to set the process error redirect type
INHERIT. |
ProcessConfigurationBuilder |
errorAsString()
A convenience method to set the process error redirect type
STRING. |
ProcessConfigurationBuilder |
errorLoggingConsumer(BiConsumer<org.slf4j.Logger,String> errorLoggingConsumer)
The logging consumer for the process error output.
|
ProcessConfigurationBuilder |
errorRedirect(ErrorRedirect errorRedirect)
Sets the error output redirect type.
|
ProcessConfigurationBuilder |
exceptionOnExitCode(boolean exceptionOnExitCode)
If
true, throws exception if the process exit code is not 0. |
ProcessConfigurationBuilder |
inheritIo()
Sets inherit I/O.
|
ProcessConfigurationBuilder |
inputAsBinary(byte[] inputBinary)
A convenience method to set the input redirect type
BINARY. |
ProcessConfigurationBuilder |
inputAsFile(String inputFile)
A convenience method to set the input redirect type
FILE. |
ProcessConfigurationBuilder |
inputAsInherit()
A convenience method to set the input redirect type
INHERIT. |
ProcessConfigurationBuilder |
inputAsStream()
A convenience method to set the input redirect type
STREAM. |
ProcessConfigurationBuilder |
inputAsString(String inputString)
A convenience method to set the input redirect type
STRING. |
ProcessConfigurationBuilder |
inputRedirect(InputRedirect inputRedirect)
Sets the input redirect type.
|
ProcessConfigurationBuilder |
name(String name)
Sets the process name.
|
ProcessConfigurationBuilder |
outputAsBinary()
A convenience method to set the output redirect type
BINARY. |
ProcessConfigurationBuilder |
outputAsConsumer()
A convenience method to set the output redirect type
CONSUMER. |
ProcessConfigurationBuilder |
outputAsConsumer(Consumer<String> outputLineConsumer)
A convenience method to set the output redirect type
CONSUMER. |
ProcessConfigurationBuilder |
outputAsFile(String outputFile)
A convenience method to set the output redirect type
FILE. |
ProcessConfigurationBuilder |
outputAsInherit()
A convenience method to set the output redirect type
INHERIT. |
ProcessConfigurationBuilder |
outputAsString()
A convenience method to set the output redirect type
STRING. |
ProcessConfigurationBuilder |
outputLoggingConsumer(BiConsumer<org.slf4j.Logger,String> outputLoggingConsumer)
The logging consumer for the process standard output.
|
ProcessConfigurationBuilder |
outputLoggingConsumerNone()
Sets the logging consumer for the process standard output to none.
|
ProcessConfigurationBuilder |
outputRedirect(OutputRedirect outputRedirect)
Sets the standard output redirect type.
|
ProcessConfigurationBuilder |
processBuilderConsumer(Consumer<ProcessBuilder> processBuilderConsumer)
Provides low level access to the Java ProcessBuilder consumer.
|
ProcessConfigurationBuilder |
redirectErrorStream(boolean redirectErrorStream)
Merges the error output with the standard output if
true. |
ProcessConfigurationBuilder |
waitForLineTimeout(Long waitForLineTimeout)
Sets the timeout for waiting for a specific line from the process output stream (in seconds).
|
ProcessConfigurationBuilder |
waitForNegativeLineRegexp(String waitForNegativeLineRegexp)
Sets the Java regular expression of a line from the process output stream that signals an error and should cause throwing an
exception.
|
ProcessConfigurationBuilder |
waitForPositiveLineRegexp(String waitForPositiveLineRegexp)
Sets the Java regular expression of a line from the process output stream.
|
ProcessConfigurationBuilder |
waitSeconds(Long waitSeconds)
Sets the maximum number of seconds to wait after the start of the process.
|
ProcessConfigurationBuilder |
workingDir(String workingDir)
Sets the process working directory.
|
public ProcessConfigurationBuilder(String executable)
executable - the executable.public ProcessConfiguration build()
public ProcessConfigurationBuilder name(String name)
name - the process name.public ProcessConfigurationBuilder arguments(String... arguments)
arguments - the process arguments.public ProcessConfigurationBuilder arguments(List<String> arguments)
null elements.arguments - the process arguments.public ProcessConfigurationBuilder workingDir(String workingDir)
workingDir - the process working directory. If null (the default value) then the current directory will be used.public ProcessConfigurationBuilder env(String name, String value)
name - the environment variable name.value - the environment variable value.public ProcessConfigurationBuilder env(Map<String,String> env)
env - the environment variables.public ProcessConfigurationBuilder waitSeconds(Long waitSeconds)
waitSeconds - the maximum number of seconds to wait or null (the default value) if the thread shouldn't wait.public ProcessConfigurationBuilder inputRedirect(InputRedirect inputRedirect)
InputRedirect.PIPE.inputRedirect - the input redirect type.public ProcessConfigurationBuilder outputRedirect(OutputRedirect outputRedirect)
OutputRedirect.PIPE.outputRedirect - the standard output redirect type.public ProcessConfigurationBuilder errorRedirect(ErrorRedirect errorRedirect)
ErrorRedirect.PIPE.errorRedirect - the error output redirect type.public ProcessConfigurationBuilder charset(Charset charset)
charset - the charset.public ProcessConfigurationBuilder waitForPositiveLineRegexp(String waitForPositiveLineRegexp)
waitForNegativeLineRegexp if set).waitForPositiveLineRegexp - the Java regular expression or null if the thread shouldn't wait for a specific line.public ProcessConfigurationBuilder waitForNegativeLineRegexp(String waitForNegativeLineRegexp)
waitForNegativeLineRegexp - the Java regular expression or null if the thread shouldn't look for a specific error line.public ProcessConfigurationBuilder waitForLineTimeout(Long waitForLineTimeout)
waitForLineTimeout - the timeout for waiting for a specific line or null if the thread could wait indefinitely.public ProcessConfigurationBuilder outputLoggingConsumer(BiConsumer<org.slf4j.Logger,String> outputLoggingConsumer)
INFO.outputLoggingConsumer - the logging consumer.public ProcessConfigurationBuilder outputLoggingConsumerNone()
public ProcessConfigurationBuilder errorLoggingConsumer(BiConsumer<org.slf4j.Logger,String> errorLoggingConsumer)
WARN.errorLoggingConsumer - the logging consumer.public ProcessConfigurationBuilder inheritIo()
public ProcessConfigurationBuilder processBuilderConsumer(Consumer<ProcessBuilder> processBuilderConsumer)
processBuilderConsumer - the Java ProcessBuilder consumer.public ProcessConfigurationBuilder redirectErrorStream(boolean redirectErrorStream)
true. Defaults to false.redirectErrorStream - redirect error stream flag.public ProcessConfigurationBuilder exceptionOnExitCode(boolean exceptionOnExitCode)
true, throws exception if the process exit code is not 0. Defaults to true.exceptionOnExitCode - exception on exit code flag.public ProcessConfigurationBuilder inputAsInherit()
INHERIT.public ProcessConfigurationBuilder inputAsString(String inputString)
STRING.inputString - the input string.public ProcessConfigurationBuilder inputAsBinary(byte[] inputBinary)
BINARY.inputBinary - the input binary.public ProcessConfigurationBuilder inputAsFile(String inputFile)
FILE.inputFile - the input filename.public ProcessConfigurationBuilder inputAsStream()
STREAM.public ProcessConfigurationBuilder outputAsInherit()
INHERIT.public ProcessConfigurationBuilder outputAsString()
STRING.public ProcessConfigurationBuilder outputAsBinary()
BINARY.public ProcessConfigurationBuilder outputAsFile(String outputFile)
FILE.outputFile - the output filename.public ProcessConfigurationBuilder outputAsConsumer(Consumer<String> outputLineConsumer)
CONSUMER.outputLineConsumer - the line consumer.public ProcessConfigurationBuilder outputAsConsumer()
CONSUMER.public ProcessConfigurationBuilder errorAsInherit()
INHERIT.public ProcessConfigurationBuilder errorAsString()
STRING.public ProcessConfigurationBuilder errorAsFile(String errorFile)
FILE.errorFile - the error file.public ProcessConfigurationBuilder errorAsException()
EXCEPTION.public ProcessConfigurationBuilder errorAsConsumer()
CONSUMER.public ProcessConfigurationBuilder errorAsConsumer(Consumer<String> errorLineConsumer)
CONSUMER.errorLineConsumer - the line consumer.Copyright © 2016–2019 Softelnet. All rights reserved.