Package org.apache.tools.ant.util
Class LeadPipeInputStream
java.lang.Object
java.io.InputStream
java.io.PipedInputStream
org.apache.tools.ant.util.LeadPipeInputStream
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class LeadPipeInputStream
extends java.io.PipedInputStream
Special
PipedInputStream
that will not die
when the writing Thread
is no longer alive.- Since:
- Ant 1.6.2
-
Field Summary
-
Constructor Summary
Constructors Constructor Description LeadPipeInputStream()
Construct a newLeadPipeInputStream
.LeadPipeInputStream(int size)
Construct a newLeadPipeInputStream
with the specified buffer size.LeadPipeInputStream(java.io.PipedOutputStream src)
Construct a newLeadPipeInputStream
to pull from the specifiedPipedOutputStream
.LeadPipeInputStream(java.io.PipedOutputStream src, int size)
Construct a newLeadPipeInputStream
to pull from the specifiedPipedOutputStream
, using a circular buffer of the specified size. -
Method Summary
Modifier and Type Method Description void
log(java.lang.String message, int loglevel)
Log a message with the specified logging level.int
read()
Read a byte from the stream.void
setBufferSize(int size)
Set the size of the buffer.void
setManagingComponent(ProjectComponent pc)
Set a managingProjectComponent
for thisLeadPipeInputStream
.void
setManagingTask(Task task)
Set a managingTask
for thisLeadPipeInputStream
.
-
Constructor Details
-
LeadPipeInputStream
public LeadPipeInputStream()Construct a newLeadPipeInputStream
. -
LeadPipeInputStream
public LeadPipeInputStream(int size)Construct a newLeadPipeInputStream
with the specified buffer size.- Parameters:
size
- the size of the circular buffer.
-
LeadPipeInputStream
public LeadPipeInputStream(java.io.PipedOutputStream src) throws java.io.IOExceptionConstruct a newLeadPipeInputStream
to pull from the specifiedPipedOutputStream
.- Parameters:
src
- thePipedOutputStream
source.- Throws:
java.io.IOException
- if unable to construct the stream.
-
LeadPipeInputStream
public LeadPipeInputStream(java.io.PipedOutputStream src, int size) throws java.io.IOExceptionConstruct a newLeadPipeInputStream
to pull from the specifiedPipedOutputStream
, using a circular buffer of the specified size.- Parameters:
src
- thePipedOutputStream
source.size
- the size of the circular buffer.- Throws:
java.io.IOException
- if there is an error.
-
-
Method Details
-
read
public int read() throws java.io.IOExceptionRead a byte from the stream.- Overrides:
read
in classjava.io.PipedInputStream
- Returns:
- the byte (0 to 255) or -1 if there are no more.
- Throws:
java.io.IOException
- if there is an error.
-
setBufferSize
public void setBufferSize(int size)Set the size of the buffer.- Parameters:
size
- the new buffer size. Ignored if <= current size.
-
setManagingTask
Set a managingTask
for thisLeadPipeInputStream
.- Parameters:
task
- the managingTask
.
-
setManagingComponent
Set a managingProjectComponent
for thisLeadPipeInputStream
.- Parameters:
pc
- the managingProjectComponent
.
-
log
public void log(java.lang.String message, int loglevel)Log a message with the specified logging level.- Parameters:
message
- theString
message.loglevel
- theint
logging level.
-