qflib 0.99

de.qfs.lib.util
Class StreamMultiplexer

java.lang.Object
  extended byjava.lang.Thread
      extended byde.qfs.lib.util.StreamMultiplexer
All Implemented Interfaces:
java.lang.Runnable

public class StreamMultiplexer
extends java.lang.Thread

Multiplexer that listens to input from an InputStream or a Reader and fires Events when new data arrives.

Since:
0.99.0
Author:
Gregor Schmid

Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
StreamMultiplexer(java.io.InputStream input)
          Create a new StreamMultiplexer.
StreamMultiplexer(java.io.InputStream input, java.lang.Object source)
          Create a new StreamMultiplexer.
StreamMultiplexer(java.io.Reader reader)
          Create a new StreamMultiplexer.
StreamMultiplexer(java.io.Reader reader, java.lang.Object source)
          Create a new StreamMultiplexer.
 
Method Summary
 void addStreamListener(StreamListener listener)
          Add a listener to the StreamMultiplexer.
protected  void fireInputClosed()
          Notify all listeners that input source was closed.
protected  void fireNewInput(char[] data)
          Notify all listeners that new data has arrived.
 java.lang.Object getSource()
          Get the source for the events created by the StreamMultiplexer.
 void halt()
          Halt the multiplexer.
 boolean isClosed()
          Test whether the source of the Multiplexer has been closed or the multiplexer stopped.
 void removeStreamListener(StreamListener listener)
          Remove a listener from the StreamMultiplexer.
 void run()
          The actual work method of the thread.
 void setSource(java.lang.Object source)
          Set the source for the events created by the StreamMultiplexer.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StreamMultiplexer

public StreamMultiplexer(java.io.InputStream input)
Create a new StreamMultiplexer.

Parameters:
input - The Stream to receive data from.

StreamMultiplexer

public StreamMultiplexer(java.io.InputStream input,
                         java.lang.Object source)
Create a new StreamMultiplexer.

Parameters:
input - The Stream to receive data from.
source - Optional object to use as source for the generated StreamEvents. If null, the StreamMultiplexer itself will be the source.

StreamMultiplexer

public StreamMultiplexer(java.io.Reader reader)
Create a new StreamMultiplexer.

Parameters:
reader - The Reader to receive data from.

StreamMultiplexer

public StreamMultiplexer(java.io.Reader reader,
                         java.lang.Object source)
Create a new StreamMultiplexer.

Parameters:
reader - The Reader to receive data from.
source - Optional object to use as source for the generated StreamEvents. If null, the StreamMultiplexer itself will be the source.
Method Detail

getSource

public final java.lang.Object getSource()
Get the source for the events created by the StreamMultiplexer.

Returns:
The source of the StreamMultiplexer.

setSource

public final void setSource(java.lang.Object source)
Set the source for the events created by the StreamMultiplexer.

Parameters:
source - The source to set.

isClosed

public final boolean isClosed()
Test whether the source of the Multiplexer has been closed or the multiplexer stopped.

Returns:
The closed state of the StreamMultiplexer.

run

public void run()
The actual work method of the thread.


halt

public void halt()
Halt the multiplexer.


addStreamListener

public void addStreamListener(StreamListener listener)
Add a listener to the StreamMultiplexer.

Parameters:
listener - The listener to add.

removeStreamListener

public void removeStreamListener(StreamListener listener)
Remove a listener from the StreamMultiplexer.

Parameters:
listener - The listener to remove.

fireNewInput

protected void fireNewInput(char[] data)
Notify all listeners that new data has arrived.

Parameters:
data - The newly arrived data.

fireInputClosed

protected void fireInputClosed()
Notify all listeners that input source was closed.


qflib 0.99