|
||||||||||
| 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 add
private void processInput(java.io.OutputStream pOutputStream)
throws java.io.IOException
pOutputStream - the OutputConsumer to use
java.io.IOException - if InputProvider.provideInput(OutputStream) failed
private 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 BufferedInputStream
private 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 BufferedInputStream
protected 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 problems
public 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 problems
public 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 | |||||||||