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 int
Buffer size of process input-stream (used for reading the output (sic!) of the process). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addProcessListener
(ProcessListener pProcessListener) Add a ProcessListener to this ProcessStarter.returniProcessListener
boolean
protected int
run
(LinkedList<String> pArgs) Execute the command.void
setAsyncMode
(boolean pAsyncMode) void
setErrorConsumer
(ErrorConsumer pErrorConsumer) Set the ErrorConsumer for the stderr of the ProcessStarter.void
setInputProvider
(InputProvider pInputProvider) Set the InputProvider for the ProcessStarter (if used as a pipe).void
setOutputConsumer
(OutputConsumer pOutputConsumer) Set the OutputConsumer for the ProcessStarter (if used as a pipe).startProcess
(LinkedList<String> pArgs) Execute the command.int
waitForProcess
(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
-