public class ListenableStream
extends java.io.OutputStream
Modifier and Type | Field and Description |
---|---|
protected byte[] |
buffer
The buffered bytes.
|
protected int |
len
The currently used length of the buffer.
|
protected java.util.List |
listeners
The listeners.
|
protected byte[] |
newline
The code(s) of the newline character.
|
protected java.io.OutputStream |
out
The super output stream.
|
protected java.lang.String |
type
The event type to be generated.
|
Constructor and Description |
---|
ListenableStream(java.io.OutputStream out,
java.lang.String type)
Create a new stream.
|
Modifier and Type | Method and Description |
---|---|
void |
addLineListener(IChangeListener listener)
Add a line listener.
|
void |
close()
Close the streams.
|
void |
flush()
Flush the streams.
|
protected void |
generateEvent()
Generate an event for a line
and flush the buffer.
|
void |
removeLineListener(IChangeListener listener)
Remove a line listener.
|
void |
write(int b)
Write a byte to the stream.
|
protected java.io.OutputStream out
protected java.lang.String type
protected byte[] buffer
protected int len
protected java.util.List listeners
protected byte[] newline
public ListenableStream(java.io.OutputStream out, java.lang.String type)
out
- The output stream.public void write(int b) throws java.io.IOException
write
in class java.io.OutputStream
b
- The byte.java.io.IOException
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
public void flush() throws java.io.IOException
flush
in interface java.io.Flushable
flush
in class java.io.OutputStream
java.io.IOException
public void addLineListener(IChangeListener listener)
public void removeLineListener(IChangeListener listener)
protected void generateEvent()