public class DemuxOutputStream
extends java.io.OutputStream
Constructor and Description |
---|
DemuxOutputStream(Project project,
boolean isErrorStream)
Creates a new instance of this class.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Equivalent to flushing the stream.
|
void |
flush()
Writes all remaining data in the buffer associated
with the current thread to the project.
|
protected void |
processBuffer(java.io.ByteArrayOutputStream buffer)
Converts the buffer to a string and sends it to the project.
|
protected void |
processFlush(java.io.ByteArrayOutputStream buffer)
Converts the buffer to a string and sends it to the project.
|
void |
write(byte[] b,
int off,
int len)
Write a block of characters to the output stream
|
void |
write(int cc)
Writes the data to the buffer and flushes the buffer if a line
separator is detected or if the buffer has reached its maximum size.
|
public DemuxOutputStream(Project project, boolean isErrorStream)
project
- The project instance for which output is being
demultiplexed. Must not be null
.isErrorStream
- true
if this is the error string,
otherwise a normal output stream. This is
passed to the project so it knows
which stream it is receiving.public void write(int cc) throws java.io.IOException
write
in class java.io.OutputStream
cc
- data to log (byte).java.io.IOException
- if the data cannot be written to the streamprotected void processBuffer(java.io.ByteArrayOutputStream buffer)
buffer
- the ByteArrayOutputStream used to collect the output
until a line separator is seen.Project.demuxOutput(String,boolean)
protected void processFlush(java.io.ByteArrayOutputStream buffer)
buffer
- the ByteArrayOutputStream used to collect the output
until a line separator is seen.Project.demuxOutput(String,boolean)
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.OutputStream
java.io.IOException
- if there is a problem closing the stream.flush()
public void flush() throws java.io.IOException
flush
in interface java.io.Flushable
flush
in class java.io.OutputStream
java.io.IOException
- if there is a problem flushing the stream.public void write(byte[] b, int off, int len) throws java.io.IOException
write
in class java.io.OutputStream
b
- the array containing the dataoff
- the offset into the array where data startslen
- the length of blockjava.io.IOException
- if the data cannot be written into the stream.