org.apache.tools.ant.util
Class OutputStreamFunneler

java.lang.Object
  extended by org.apache.tools.ant.util.OutputStreamFunneler

public class OutputStreamFunneler
extends java.lang.Object

Manages a set of OutputStreams to write to a single underlying stream, which is closed only when the last "funnel" has been closed.


Field Summary
static long DEFAULT_TIMEOUT_MILLIS
          Default timeout.
 
Constructor Summary
OutputStreamFunneler(java.io.OutputStream out)
          Create a new OutputStreamFunneler for the specified OutputStream.
OutputStreamFunneler(java.io.OutputStream out, long timeoutMillis)
          Create a new OutputStreamFunneler for the specified OutputStream, with the specified timeout value.
 
Method Summary
 java.io.OutputStream getFunnelInstance()
          Get a "funnel" OutputStream instance to write to this OutputStreamFunneler's underlying OutputStream.
 void setTimeout(long timeoutMillis)
          Set the timeout for this OutputStreamFunneler.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_TIMEOUT_MILLIS

public static final long DEFAULT_TIMEOUT_MILLIS
Default timeout.

See Also:
setTimeout(long), Constant Field Values
Constructor Detail

OutputStreamFunneler

public OutputStreamFunneler(java.io.OutputStream out)
Create a new OutputStreamFunneler for the specified OutputStream.

Parameters:
out - OutputStream.

OutputStreamFunneler

public OutputStreamFunneler(java.io.OutputStream out,
                            long timeoutMillis)
Create a new OutputStreamFunneler for the specified OutputStream, with the specified timeout value.

Parameters:
out - OutputStream.
timeoutMillis - long.
See Also:
setTimeout(long)
Method Detail

setTimeout

public void setTimeout(long timeoutMillis)
Set the timeout for this OutputStreamFunneler. This is the maximum time that may elapse between the closure of the last "funnel" and the next call to getOutputStream() without closing the underlying stream.

Parameters:
timeoutMillis - long timeout value.

getFunnelInstance

public java.io.OutputStream getFunnelInstance()
                                       throws java.io.IOException
Get a "funnel" OutputStream instance to write to this OutputStreamFunneler's underlying OutputStream.

Returns:
OutputStream.
Throws:
java.io.IOException - if unable to create the funnel.