org.apache.tools.ant.utilClass 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
SpecialPipedInputStream
that will not die when the writingThread
is no longer alive.
- Since:
- Ant 1.6.2
Constructor Summary
Constructors Constructor and 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
All Methods Instance Methods Concrete Methods Modifier and Type Method and 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 Detail
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 Detail
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
public void setManagingTask(Task task)Set a managingTask
for thisLeadPipeInputStream
.
- Parameters:
task
- the managingTask
.
setManagingComponent
public void setManagingComponent(ProjectComponent pc)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.