|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.im4java.process.ProcessStarter
public class ProcessStarter
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 | |
---|---|
static int |
BUFFER_SIZE
Buffer size of process input-stream (used for reading the output (sic!) |
private java.lang.String |
convertPath
Path to convert |
private boolean |
iAsyncMode
Execution-mode. |
private ErrorConsumer |
iErrorConsumer
The ErrorConsumer for the stderr of the ProcessStarter. |
private InputProvider |
iInputProvider
The InputProvider for the ProcessStarter (if used as a pipe). |
private OutputConsumer |
iOutputConsumer
The OutputConsumer for the ProcessStarter (if used as a pipe). |
private java.util.LinkedList<ProcessListener> |
iProcessListener
The ProcessListeners for this ProcessStarter. |
Constructor Summary | |
---|---|
protected |
ProcessStarter()
Constructor. |
Method Summary | |
---|---|
void |
addProcessListener(ProcessListener pProcessListener)
Add a ProcessListener to this ProcessStarter. |
InputProvider |
getIInputProvider()
|
java.util.LinkedList<ProcessListener> |
getIProcessListener()
return iProcessListener |
boolean |
isAsyncMode()
|
private void |
processError(java.io.InputStream pInputStream,
ErrorConsumer pConsumer)
Let the ErrorConsumer process the stderr-stream. |
private void |
processInput(java.io.OutputStream pOutputStream)
Pipe input to the command. |
private void |
processOutput(java.io.InputStream pInputStream,
OutputConsumer pConsumer)
Let the OutputConsumer process the output of the command. |
protected int |
run(java.util.LinkedList<java.lang.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). |
java.lang.Process |
startProcess(java.util.LinkedList<java.lang.String> pArgs)
Execute the command. |
int |
waitForProcess(java.lang.Process pProcess)
Perform process input/output and wait for process to terminate. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int BUFFER_SIZE
private InputProvider iInputProvider
private OutputConsumer iOutputConsumer
private ErrorConsumer iErrorConsumer
private boolean iAsyncMode
private java.lang.String convertPath
private java.util.LinkedList<ProcessListener> iProcessListener
Constructor Detail |
---|
protected ProcessStarter()
Method Detail |
---|
public void setInputProvider(InputProvider pInputProvider)
pInputProvider
- the InputProvider to be setpublic InputProvider getIInputProvider()
public void setOutputConsumer(OutputConsumer pOutputConsumer)
pOutputConsumer
- the OutputConsumer to be setpublic void setErrorConsumer(ErrorConsumer pErrorConsumer)
pErrorConsumer
- the ErrorConsumer to be setpublic java.util.LinkedList<ProcessListener> getIProcessListener()
iProcessListener
public void addProcessListener(ProcessListener pProcessListener)
pProcessListener
- the ProcessListener to addprivate void processInput(java.io.OutputStream pOutputStream) throws java.io.IOException
pOutputStream
- the OutputConsumer to use
java.io.IOException
- if InputProvider.provideInput(OutputStream)
failedprivate void processOutput(java.io.InputStream pInputStream, OutputConsumer pConsumer) throws java.io.IOException
pInputStream
- the InputStream to usepConsumer
- the OutputConsumer to use
java.io.IOException
- if IO problems with BufferedInputStreamprivate void processError(java.io.InputStream pInputStream, ErrorConsumer pConsumer) throws java.io.IOException
pInputStream
- the InputStream to usepConsumer
- the ErrorConsumer to use
java.io.IOException
- if IO problems with BufferedInputStreamprotected int run(java.util.LinkedList<java.lang.String> pArgs) throws java.io.IOException, java.lang.InterruptedException
pArgs
- arguments for command
java.io.IOException
- IO problems
java.lang.InterruptedException
- Interruptions problemspublic java.lang.Process startProcess(java.util.LinkedList<java.lang.String> pArgs) throws java.io.IOException, java.lang.InterruptedException
pArgs
- list of arguments for the process
ProcessBuilder.start()
java.io.IOException
- IO problems
java.lang.InterruptedException
- Interruption problemspublic int waitForProcess(java.lang.Process pProcess) throws java.io.IOException, java.lang.InterruptedException
pProcess
- the process
java.io.IOException
- IO problems
java.lang.InterruptedException
- Interrupted Exception problemspublic void setAsyncMode(boolean pAsyncMode)
pAsyncMode
- the iAsyncMode to setpublic boolean isAsyncMode()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |