Package com.platformlib.process.builder
Interface ProcessBuilder
-
- All Known Implementing Classes:
DefaultProcessBuilder
public interface ProcessBuilderProcess builder.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringBASH_EXTENSIONstatic java.lang.StringBAT_EXTENSIONstatic java.lang.StringCMD_EXTENSIONstatic java.lang.StringEXE_EXTENSIONstatic java.lang.StringSH_EXTENSION
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ProcessBuilderaddMaskApplier(java.util.function.Function<java.lang.String,java.lang.String> maskApplier)Add mask applier for masking sensitive data before putting it in logs and passing to output consumers.ProcessExecutorbuild()Build process executor.ProcessBuildercommand(java.lang.String command)Set command to execute.ProcessBuildercommandAndArguments(java.lang.Object... commandAndArguments)Set command and argumentsProcessBuilderdefaultExtensionMapping()Add default mapping command extensions.ProcessBuilderdryRun(java.util.function.Consumer<ProcessDryRunConfigurator> processDryRunConfigurator)Configure dry run mode.ProcessBuilderenvVariables(java.util.Map<java.lang.String,java.lang.String> envVariables)Add env variables.ProcessBuilderexecutionTimeout(java.time.Duration timeout)Set execution timeout.ProcessBuilderlogger(java.util.function.Consumer<ProcessLoggerConfigurator> processLoggerConfigurator)Configure process logger configuration.ProcessBuildermapBashExtension()AddBASH_EXTENSIONextension mapping if process is executed on NIX platform.ProcessBuildermapBatExtension()AddBAT_EXTENSIONextension mapping if process is executed on WINDOWS platform.ProcessBuildermapCmdExtension()AddCMD_EXTENSIONextension mapping if process is executed on WINDOWS platform.ProcessBuildermapExeExtension()AddEXE_EXTENSIONextension mapping if process is executed on WINDOWS platform..ProcessBuildermapShExtension()AddSH_EXTENSIONextension mapping if process is executed on NIX platform.ProcessBuildername(java.lang.String name)Set process executor formal name.ProcessBuilderprocessDestroyerHandler(ProcessDestroyerHandler processDestroyerHandler)Specify destroy/kill process handler.ProcessBuilderprocessInstance(java.util.function.Consumer<ProcessInstanceConfigurator> processInstanceConfigurator)Configure process instance.ProcessBuilderrawExecution()Run command as is.ProcessBuilderredirectStandardError(java.io.OutputStream outputStream)Redirect process standard error to given stream.ProcessBuilderredirectStandardOutput(java.io.OutputStream outputStream)Redirect process standard output to given stream.ProcessBuilderstandardInput(java.io.InputStream processStandardInputStream)Set process standard input stream.ProcessBuilderstdErrConsumer(java.util.function.Consumer<java.lang.String> stdErrConsumer)Set process error output consumer.ProcessBuilderstdOutConsumer(java.util.function.Consumer<java.lang.String> stdOutConsumer)Set process standard output consumer.ProcessBuilderwithExecutor(java.util.concurrent.Executor executor)Set java process executor.ProcessBuilderworkDirectory(java.lang.String workDirectory)Set work directory for process executing.ProcessBuilderworkDirectory(java.nio.file.Path workDirectory)Set work directory for process executing.
-
-
-
Field Detail
-
EXE_EXTENSION
static final java.lang.String EXE_EXTENSION
- See Also:
- Constant Field Values
-
BAT_EXTENSION
static final java.lang.String BAT_EXTENSION
- See Also:
- Constant Field Values
-
CMD_EXTENSION
static final java.lang.String CMD_EXTENSION
- See Also:
- Constant Field Values
-
BASH_EXTENSION
static final java.lang.String BASH_EXTENSION
- See Also:
- Constant Field Values
-
SH_EXTENSION
static final java.lang.String SH_EXTENSION
- See Also:
- Constant Field Values
-
-
Method Detail
-
name
ProcessBuilder name(java.lang.String name)
Set process executor formal name. Default value is current thread name. The name will be added as suffix to any started threads.- Parameters:
name- executor name- Returns:
- Returns this process configurator
-
defaultExtensionMapping
ProcessBuilder defaultExtensionMapping()
Add default mapping command extensions. The full path command extension will be automatically detected in next order: For Windows platform: cmd -> bat -> exe For Unix platform: no extension -> sh -> bash- Returns:
- process builder
-
mapBashExtension
ProcessBuilder mapBashExtension()
AddBASH_EXTENSIONextension mapping if process is executed on NIX platform.- Returns:
- Returns this process configurator
-
mapShExtension
ProcessBuilder mapShExtension()
AddSH_EXTENSIONextension mapping if process is executed on NIX platform.- Returns:
- Returns this process configurator
-
mapBatExtension
ProcessBuilder mapBatExtension()
AddBAT_EXTENSIONextension mapping if process is executed on WINDOWS platform.- Returns:
- Returns this process configurator
-
mapCmdExtension
ProcessBuilder mapCmdExtension()
AddCMD_EXTENSIONextension mapping if process is executed on WINDOWS platform.- Returns:
- Returns this process configurator
-
mapExeExtension
ProcessBuilder mapExeExtension()
AddEXE_EXTENSIONextension mapping if process is executed on WINDOWS platform..- Returns:
- Returns this process configurator
-
stdOutConsumer
ProcessBuilder stdOutConsumer(java.util.function.Consumer<java.lang.String> stdOutConsumer)
Set process standard output consumer.- Parameters:
stdOutConsumer- process stdout consumer- Returns:
- Returns this process configurator
-
stdErrConsumer
ProcessBuilder stdErrConsumer(java.util.function.Consumer<java.lang.String> stdErrConsumer)
Set process error output consumer.- Parameters:
stdErrConsumer- process error consumer- Returns:
- Returns this process configurator
-
standardInput
ProcessBuilder standardInput(java.io.InputStream processStandardInputStream)
Set process standard input stream.- Parameters:
processStandardInputStream- stream to process standard input- Returns:
- Returns this process builder
-
command
ProcessBuilder command(java.lang.String command)
Set command to execute.- Parameters:
command- command to execute- Returns:
- Returns this process builder
-
commandAndArguments
ProcessBuilder commandAndArguments(java.lang.Object... commandAndArguments)
Set command and arguments- Parameters:
commandAndArguments- command and arguments to execute- Returns:
- Returns this process builder
-
workDirectory
ProcessBuilder workDirectory(java.lang.String workDirectory)
Set work directory for process executing.- Parameters:
workDirectory- work directory where the process should be started- Returns:
- Returns this process builder
-
workDirectory
ProcessBuilder workDirectory(java.nio.file.Path workDirectory)
Set work directory for process executing.- Parameters:
workDirectory- work directory where the process should be started- Returns:
- Returns this process builder
-
envVariables
ProcessBuilder envVariables(java.util.Map<java.lang.String,java.lang.String> envVariables)
Add env variables.- Parameters:
envVariables- env variables- Returns:
- Returns this process builder
-
withExecutor
ProcessBuilder withExecutor(java.util.concurrent.Executor executor)
Set java process executor.- Parameters:
executor- executor- Returns:
- Returns this process builder
-
executionTimeout
ProcessBuilder executionTimeout(java.time.Duration timeout)
Set execution timeout. By default unlimited.- Parameters:
timeout- command execution timeout- Returns:
- Returns this process builder
-
addMaskApplier
ProcessBuilder addMaskApplier(java.util.function.Function<java.lang.String,java.lang.String> maskApplier)
Add mask applier for masking sensitive data before putting it in logs and passing to output consumers.- Parameters:
maskApplier- mask applier- Returns:
- Returns this process builder
-
redirectStandardOutput
ProcessBuilder redirectStandardOutput(java.io.OutputStream outputStream)
Redirect process standard output to given stream.- Parameters:
outputStream- output stream to redirect- Returns:
- Returns this process builder
-
redirectStandardError
ProcessBuilder redirectStandardError(java.io.OutputStream outputStream)
Redirect process standard error to given stream.- Parameters:
outputStream- output stream to redirect- Returns:
- Returns this process builder
-
rawExecution
ProcessBuilder rawExecution()
Run command as is. Some features such as setting environment variables could be disabled. Depends on platform and implementation.- Returns:
- Returns this process builder
-
processDestroyerHandler
ProcessBuilder processDestroyerHandler(ProcessDestroyerHandler processDestroyerHandler)
Specify destroy/kill process handler.- Parameters:
processDestroyerHandler- process destroy/kill handler.- Returns:
- Returns this process builder
-
dryRun
ProcessBuilder dryRun(java.util.function.Consumer<ProcessDryRunConfigurator> processDryRunConfigurator)
Configure dry run mode.- Parameters:
processDryRunConfigurator- dry run configurator- Returns:
- Returns this process builder
-
logger
ProcessBuilder logger(java.util.function.Consumer<ProcessLoggerConfigurator> processLoggerConfigurator)
Configure process logger configuration. This configuration responds for what should be put in log (command line, process output and etc).- Parameters:
processLoggerConfigurator- process logger configurator- Returns:
- Returns this process builder
-
processInstance
ProcessBuilder processInstance(java.util.function.Consumer<ProcessInstanceConfigurator> processInstanceConfigurator)
Configure process instance. Responds what should be included inProcessInstancewhich is result of process execution.- Parameters:
processInstanceConfigurator- process execution result configuration- Returns:
- Returns this process builder
-
build
ProcessExecutor build()
Build process executor.- Returns:
- Returns process executor
-
-