gnu.iou
Class tee

java.lang.Object
  |
  +--java.io.OutputStream
        |
        +--gnu.iou.tee

public class tee
extends java.io.OutputStream

Output stream `tee'.

Author:
John Pritchard (john@syntelos.org)
See Also:
pte

Field Summary
protected  java.io.OutputStream fir
           
protected  java.io.OutputStream sec
           
protected  java.io.OutputStream thi
           
 
Constructor Summary
tee(java.io.OutputStream first, java.io.OutputStream second)
           
tee(tee first, java.io.OutputStream third)
           
 
Method Summary
 void close()
           
 void flush()
           
protected  void teeAdd(java.io.OutputStream ps)
           
 boolean teeEmpty()
           
 boolean teeFull()
           
 java.io.OutputStream teeOrig()
           
protected  void teeRemove(java.io.OutputStream ps)
           
 void write(byte[] b)
           
 void write(byte[] b, int ofs, int len)
           
 void write(int b)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fir

protected volatile java.io.OutputStream fir

sec

protected volatile java.io.OutputStream sec

thi

protected volatile java.io.OutputStream thi
Constructor Detail

tee

public tee(java.io.OutputStream first,
           java.io.OutputStream second)

tee

public tee(tee first,
           java.io.OutputStream third)
Method Detail

teeOrig

public java.io.OutputStream teeOrig()

teeFull

public boolean teeFull()

teeEmpty

public boolean teeEmpty()

teeAdd

protected void teeAdd(java.io.OutputStream ps)

teeRemove

protected void teeRemove(java.io.OutputStream ps)
Throws:
java.lang.IllegalStateException - Attempting to remove first stream from tee (ie, when tee is empty -- only one stream in it).

write

public void write(int b)
           throws java.io.IOException
Overrides:
write in class java.io.OutputStream

write

public void write(byte[] b)
           throws java.io.IOException
Overrides:
write in class java.io.OutputStream

write

public void write(byte[] b,
                  int ofs,
                  int len)
           throws java.io.IOException
Overrides:
write in class java.io.OutputStream

flush

public void flush()
           throws java.io.IOException
Overrides:
flush in class java.io.OutputStream

close

public void close()
           throws java.io.IOException
Overrides:
close in class java.io.OutputStream
Throws:
java.lang.IllegalStateException - Can't use `close()' on a tee.