Class ProcessBuilderUtil
- java.lang.Object
-
- com.github.toolarium.system.command.process.util.ProcessBuilderUtil
-
public final class ProcessBuilderUtil extends java.lang.Object
Process builder util.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
TEMP
TEMP Environment variable
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ProcessBuilder
createProcessBuilder(ISystemCommandGroup systemCommandGroup, ISystemCommandExecuterPlatformSupport inputSystemCommandExecuterPlatformSupport)
Create a process builderjava.lang.ProcessBuilder
createProcessBuilder(ISystemCommandGroup systemCommandGroup, ISystemCommandExecuterPlatformSupport inputSystemCommandExecuterPlatformSupport, java.nio.file.Path scriptPath)
Create a process builderjava.util.List<java.lang.ProcessBuilder>
createProcessBuilders(ISystemCommandGroupList systemCommandGroupList, IProcessInputStream processInputStream, IProcessOutputStream processOut, IProcessOutputStream processErr, ISystemCommandExecuterPlatformSupport inputSystemCommandExecuterPlatformSupport, java.nio.file.Path scriptPath)
Create a process builder listjava.lang.ProcessBuilder
createScriptProcessBuilder(ISystemCommandGroup systemCommandGroup, ISystemCommandExecuterPlatformSupport inputSystemCommandExecuterPlatformSupport, java.nio.file.Path scriptPath)
Create a process builderstatic ProcessBuilderUtil
getInstance()
Get the instanceboolean
isProcessRunning(java.lang.Long pid)
Check if a process is runningjava.lang.String
prepareDuration(IProcess process)
Prepare durationjava.util.Map<java.lang.String,java.lang.String>
prepareEnvironmentVariables(ISystemCommandExecuterPlatformSupport systemCommandExecuterPlatformSupport, java.nio.file.Path file, java.util.Map<java.lang.String,java.lang.String> env)
Write the environment variablejava.util.Map<java.lang.String,java.lang.String>
prepareEnvironmentVariables(ISystemCommandExecuterPlatformSupport systemCommandExecuterPlatformSupport, java.nio.file.Path file, java.util.Map<java.lang.String,java.lang.String> currentEnv, java.util.Map<java.lang.String,java.lang.String> newEnv)
Prepare the environment variablejava.util.Set<java.lang.String>
unsetEnvironment(java.util.Map<java.lang.String,java.lang.String> currentEnv, java.util.Map<java.lang.String,java.lang.String> newEnv)
Compare two maps by key
-
-
-
Field Detail
-
TEMP
public static final java.lang.String TEMP
TEMP Environment variable- See Also:
- Constant Field Values
-
-
Method Detail
-
getInstance
public static ProcessBuilderUtil getInstance()
Get the instance- Returns:
- the instance
-
isProcessRunning
public boolean isProcessRunning(java.lang.Long pid)
Check if a process is running- Parameters:
pid
- the pid- Returns:
- true if the process is still running
-
createProcessBuilders
public java.util.List<java.lang.ProcessBuilder> createProcessBuilders(ISystemCommandGroupList systemCommandGroupList, IProcessInputStream processInputStream, IProcessOutputStream processOut, IProcessOutputStream processErr, ISystemCommandExecuterPlatformSupport inputSystemCommandExecuterPlatformSupport, java.nio.file.Path scriptPath)
Create a process builder list- Parameters:
systemCommandGroupList
- the system command group listprocessInputStream
- the process input streamprocessOut
- the process output streamprocessErr
- the process error streaminputSystemCommandExecuterPlatformSupport
- the system command executer platform supportscriptPath
- the script path- Returns:
- the process builder
- Throws:
java.lang.IllegalArgumentException
- In case of invalid parameters
-
createProcessBuilder
public java.lang.ProcessBuilder createProcessBuilder(ISystemCommandGroup systemCommandGroup, ISystemCommandExecuterPlatformSupport inputSystemCommandExecuterPlatformSupport, java.nio.file.Path scriptPath)
Create a process builder- Parameters:
systemCommandGroup
- the system command groupinputSystemCommandExecuterPlatformSupport
- the system command executer platform supportscriptPath
- the script path- Returns:
- the process builder
- Throws:
java.lang.IllegalArgumentException
- In case of invalid parameters
-
createProcessBuilder
public java.lang.ProcessBuilder createProcessBuilder(ISystemCommandGroup systemCommandGroup, ISystemCommandExecuterPlatformSupport inputSystemCommandExecuterPlatformSupport)
Create a process builder- Parameters:
systemCommandGroup
- the system command groupinputSystemCommandExecuterPlatformSupport
- the system command executer platform support- Returns:
- the process builder
- Throws:
java.lang.IllegalArgumentException
- In case of invalid parameters
-
createScriptProcessBuilder
public java.lang.ProcessBuilder createScriptProcessBuilder(ISystemCommandGroup systemCommandGroup, ISystemCommandExecuterPlatformSupport inputSystemCommandExecuterPlatformSupport, java.nio.file.Path scriptPath)
Create a process builder- Parameters:
systemCommandGroup
- the system command groupinputSystemCommandExecuterPlatformSupport
- the system command executer platform supportscriptPath
- the script path- Returns:
- the process builder
- Throws:
java.lang.IllegalArgumentException
- In case of invalid parameters
-
prepareEnvironmentVariables
public java.util.Map<java.lang.String,java.lang.String> prepareEnvironmentVariables(ISystemCommandExecuterPlatformSupport systemCommandExecuterPlatformSupport, java.nio.file.Path file, java.util.Map<java.lang.String,java.lang.String> currentEnv, java.util.Map<java.lang.String,java.lang.String> newEnv) throws java.io.IOException
Prepare the environment variable- Parameters:
systemCommandExecuterPlatformSupport
- the system command executer platform supportfile
- the current temporary filecurrentEnv
- the current environmentnewEnv
- the new environment- Returns:
- the new environment variables
- Throws:
java.io.IOException
- In case of write issues
-
prepareEnvironmentVariables
public java.util.Map<java.lang.String,java.lang.String> prepareEnvironmentVariables(ISystemCommandExecuterPlatformSupport systemCommandExecuterPlatformSupport, java.nio.file.Path file, java.util.Map<java.lang.String,java.lang.String> env) throws java.io.IOException
Write the environment variable- Parameters:
systemCommandExecuterPlatformSupport
- the system command executer platform supportfile
- the current temporary fileenv
- the environment variable- Returns:
- the new environment
- Throws:
java.io.IOException
- In case of write issues
-
unsetEnvironment
public java.util.Set<java.lang.String> unsetEnvironment(java.util.Map<java.lang.String,java.lang.String> currentEnv, java.util.Map<java.lang.String,java.lang.String> newEnv)
Compare two maps by key- Parameters:
currentEnv
- the current environmentnewEnv
- the new environment- Returns:
- the keys to unset
-
prepareDuration
public java.lang.String prepareDuration(IProcess process)
Prepare duration- Parameters:
process
- the process- Returns:
- the duration
-
-