Package org.apache.commons.exec
Class PumpStreamHandler
- java.lang.Object
-
- org.apache.commons.exec.PumpStreamHandler
-
- All Implemented Interfaces:
ExecuteStreamHandler
public class PumpStreamHandler extends java.lang.Object implements ExecuteStreamHandler
Copies standard output and error of sub-processes to standard output and error of the parent process. If output or error stream are set to null, any feedback from that stream will be lost.
-
-
Constructor Summary
Constructors Constructor Description PumpStreamHandler()Construct a newPumpStreamHandler.PumpStreamHandler(java.io.OutputStream outAndErr)Construct a newPumpStreamHandler.PumpStreamHandler(java.io.OutputStream out, java.io.OutputStream err)Construct a newPumpStreamHandler.PumpStreamHandler(java.io.OutputStream out, java.io.OutputStream err, java.io.InputStream input)Construct a newPumpStreamHandler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidsetProcessErrorStream(java.io.InputStream is)Set theInputStreamfrom which to read the standard error of the process.voidsetProcessInputStream(java.io.OutputStream os)Set theOutputStreamby means of which input can be sent to the process.voidsetProcessOutputStream(java.io.InputStream is)Set theInputStreamfrom which to read the standard output of the process.voidsetStopTimeout(long timeout)Set maximum time to wait until output streams are exchausted whenstop()was called.voidstart()Start theThreads.voidstop()Stop pumping the streams.
-
-
-
Constructor Detail
-
PumpStreamHandler
public PumpStreamHandler()
Construct a newPumpStreamHandler.
-
PumpStreamHandler
public PumpStreamHandler(java.io.OutputStream outAndErr)
Construct a newPumpStreamHandler.- Parameters:
outAndErr- the output/errorOutputStream.
-
PumpStreamHandler
public PumpStreamHandler(java.io.OutputStream out, java.io.OutputStream err)Construct a newPumpStreamHandler.- Parameters:
out- the outputOutputStream.err- the errorOutputStream.
-
PumpStreamHandler
public PumpStreamHandler(java.io.OutputStream out, java.io.OutputStream err, java.io.InputStream input)Construct a newPumpStreamHandler.- Parameters:
out- the outputOutputStream.err- the errorOutputStream.input- the inputInputStream.
-
-
Method Detail
-
setStopTimeout
public void setStopTimeout(long timeout)
Set maximum time to wait until output streams are exchausted whenstop()was called.- Parameters:
timeout- timeout in milliseconds or zero to wait forever (default)
-
setProcessOutputStream
public void setProcessOutputStream(java.io.InputStream is)
Set theInputStreamfrom which to read the standard output of the process.- Specified by:
setProcessOutputStreamin interfaceExecuteStreamHandler- Parameters:
is- theInputStream.
-
setProcessErrorStream
public void setProcessErrorStream(java.io.InputStream is)
Set theInputStreamfrom which to read the standard error of the process.- Specified by:
setProcessErrorStreamin interfaceExecuteStreamHandler- Parameters:
is- theInputStream.
-
setProcessInputStream
public void setProcessInputStream(java.io.OutputStream os)
Set theOutputStreamby means of which input can be sent to the process.- Specified by:
setProcessInputStreamin interfaceExecuteStreamHandler- Parameters:
os- theOutputStream.
-
start
public void start()
Start theThreads.- Specified by:
startin interfaceExecuteStreamHandler
-
stop
public void stop() throws java.io.IOExceptionStop pumping the streams. When a timeout is specified it it is not guaranteed that the pumper threads are cleanly terminated.- Specified by:
stopin interfaceExecuteStreamHandler- Throws:
java.io.IOException- thrown when an I/O exception occurs.
-
-