org.apache.tools.ant.taskdefs

Class PumpStreamHandler

Implemented Interfaces:
ExecuteStreamHandler
Known Direct Subclasses:
LogStreamHandler

public class PumpStreamHandler
extends java.lang.Object
implements ExecuteStreamHandler

Copies standard output and error of subprocesses to standard output and error of the parent process.
Since:
Ant 1.2

Constructor Summary

PumpStreamHandler()
Construct a new PumpStreamHandler.
PumpStreamHandler(OutputStream outAndErr)
Construct a new PumpStreamHandler.
PumpStreamHandler(OutputStream out, OutputStream err)
Construct a new PumpStreamHandler.
PumpStreamHandler(OutputStream out, OutputStream err, InputStream input)
Construct a new PumpStreamHandler.

Method Summary

protected void
createProcessErrorPump(InputStream is, OutputStream os)
Create the pump to handle error output.
protected void
createProcessOutputPump(InputStream is, OutputStream os)
Create the pump to handle process output.
protected Thread
createPump(InputStream is, OutputStream os)
Creates a stream pumper to copy the given input stream to the given output stream.
protected Thread
createPump(InputStream is, OutputStream os, boolean closeWhenExhausted)
Creates a stream pumper to copy the given input stream to the given output stream.
protected OutputStream
getErr()
Get the error stream.
protected OutputStream
getOut()
Get the output stream.
void
setProcessErrorStream(InputStream is)
Set the InputStream from which to read the standard error of the process.
void
setProcessInputStream(OutputStream os)
Set the OutputStream by means of which input can be sent to the process.
void
setProcessOutputStream(InputStream is)
Set the InputStream from which to read the standard output of the process.
void
start()
Start the Threads.
void
stop()
Stop pumping the streams.

Constructor Details

PumpStreamHandler

public PumpStreamHandler()
Construct a new PumpStreamHandler.

PumpStreamHandler

public PumpStreamHandler(OutputStream outAndErr)
Construct a new PumpStreamHandler.
Parameters:
outAndErr - the output/error OutputStream.

PumpStreamHandler

public PumpStreamHandler(OutputStream out,
                         OutputStream err)
Construct a new PumpStreamHandler.
Parameters:
out - the output OutputStream.
err - the error OutputStream.

PumpStreamHandler

public PumpStreamHandler(OutputStream out,
                         OutputStream err,
                         InputStream input)
Construct a new PumpStreamHandler.
Parameters:
out - the output OutputStream.
err - the error OutputStream.
input - the input InputStream.

Method Details

createProcessErrorPump

protected void createProcessErrorPump(InputStream is,
                                      OutputStream os)
Create the pump to handle error output.
Parameters:
is - the InputStream.
os - the OutputStream.

createProcessOutputPump

protected void createProcessOutputPump(InputStream is,
                                       OutputStream os)
Create the pump to handle process output.
Parameters:
is - the InputStream.
os - the OutputStream.

createPump

protected Thread createPump(InputStream is,
                            OutputStream os)
Creates a stream pumper to copy the given input stream to the given output stream.

createPump

protected Thread createPump(InputStream is,
                            OutputStream os,
                            boolean closeWhenExhausted)
Creates a stream pumper to copy the given input stream to the given output stream.

getErr

protected OutputStream getErr()
Get the error stream.
Returns:
OutputStream.

getOut

protected OutputStream getOut()
Get the output stream.
Returns:
OutputStream.

setProcessErrorStream

public void setProcessErrorStream(InputStream is)
Set the InputStream from which to read the standard error of the process.
Specified by:
setProcessErrorStream in interface ExecuteStreamHandler
Parameters:
is - the InputStream.

setProcessInputStream

public void setProcessInputStream(OutputStream os)
Set the OutputStream by means of which input can be sent to the process.
Specified by:
setProcessInputStream in interface ExecuteStreamHandler
Parameters:
os - the OutputStream.

setProcessOutputStream

public void setProcessOutputStream(InputStream is)
Set the InputStream from which to read the standard output of the process.
Specified by:
setProcessOutputStream in interface ExecuteStreamHandler
Parameters:
is - the InputStream.

start

public void start()
Start the Threads.
Specified by:
start in interface ExecuteStreamHandler

stop

public void stop()
Stop pumping the streams.
Specified by:
stop in interface ExecuteStreamHandler

Copyright B) 2000-2007 Apache Software Foundation. All Rights Reserved.