Package org.im4java.process
Class ProcessStarter
java.lang.Object
org.im4java.process.ProcessStarter
- Direct Known Subclasses:
ImageCommand
This class implements the processing of os-commands using Runtime.exec().
The class does not use the newer ProcessBuilder, since it has no
knowledge about the valid os-arguments of the generated command.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intBuffer size of process input-stream (used for reading the output (sic!) of the process). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddProcessListener(ProcessListener pProcessListener) Add a ProcessListener to this ProcessStarter.returniProcessListenerbooleanprotected intrun(LinkedList<String> pArgs) Execute the command.voidsetAsyncMode(boolean pAsyncMode) voidsetErrorConsumer(ErrorConsumer pErrorConsumer) Set the ErrorConsumer for the stderr of the ProcessStarter.voidsetInputProvider(InputProvider pInputProvider) Set the InputProvider for the ProcessStarter (if used as a pipe).voidsetOutputConsumer(OutputConsumer pOutputConsumer) Set the OutputConsumer for the ProcessStarter (if used as a pipe).startProcess(LinkedList<String> pArgs) Execute the command.intwaitForProcess(Process pProcess) Perform process input/output and wait for process to terminate.
-
Field Details
-
BUFFER_SIZE
public static final int BUFFER_SIZEBuffer size of process input-stream (used for reading the output (sic!) of the process). Currently 64KB.- See Also:
-
-
Constructor Details
-
ProcessStarter
protected ProcessStarter()Constructor. Set the image magick path if windows
-
-
Method Details
-
setInputProvider
Set the InputProvider for the ProcessStarter (if used as a pipe).- Parameters:
pInputProvider- the InputProvider to be set
-
getIInputProvider
- Returns:
- the iInputProvider
-
setOutputConsumer
Set the OutputConsumer for the ProcessStarter (if used as a pipe).- Parameters:
pOutputConsumer- the OutputConsumer to be set
-
setErrorConsumer
Set the ErrorConsumer for the stderr of the ProcessStarter.- Parameters:
pErrorConsumer- the ErrorConsumer to be set
-
getIProcessListener
returniProcessListener- Returns:
- ProcessListener linked list
-
addProcessListener
Add a ProcessListener to this ProcessStarter.- Parameters:
pProcessListener- the ProcessListener to add
-
run
Execute the command.- Parameters:
pArgs- arguments for command- Returns:
- process return value
- Throws:
IOException- IO problemsInterruptedException- Interruptions problems
-
startProcess
Execute the command.- Parameters:
pArgs- list of arguments for the process- Returns:
- return value of
ProcessBuilder.start() - Throws:
IOException- IO problemsInterruptedException- Interruption problems
-
waitForProcess
Perform process input/output and wait for process to terminate.- Parameters:
pProcess- the process- Returns:
- the process exit value
- Throws:
IOException- IO problemsInterruptedException- Interrupted Exception problems
-
setAsyncMode
public void setAsyncMode(boolean pAsyncMode) - Parameters:
pAsyncMode- the iAsyncMode to set
-
isAsyncMode
public boolean isAsyncMode()- Returns:
- the iAsyncMode
-