cz.zcu.validationserver.streams
Class ThreadErrorStream
java.lang.Object
java.io.OutputStream
cz.zcu.validationserver.streams.ThreadErrorStream
- All Implemented Interfaces:
- java.io.Closeable, java.io.Flushable
public class ThreadErrorStream
- extends java.io.OutputStream
Tohle je velmi zajimavy stream: Bude slouzit jako nahrada standardniho err
streamu - tenhle stream ma tu nevyhodu, ze je globalni, tj. je pro vsechna
vlakna stejny.
Ja potrebuji, aby tyhle streamy (jak out, tak err) byly pro ruzna vlakna
ruzne, tj. aby kazde vlakno melo svuj standardni vystup - ale aby do nej
mohlo normalne zapisovat pres System.out a System.err.
Proto tenhle stream bude umet to, ze pokazde, kdyz nekdo zavola jeho
zapisovaci metodu, koukne se, z jakeho vlakna je volany a pokud je volany z
vlakna zdedeneho od OwnIOThread (vi. tenhle balik), tj. prave od vlakna,
ktere chce mit vlastni I/O, zapise data do streamu nadefinovanych timto
vlaknem.
Pokud vlakno nerozpozna (tj. neni zdedene od OwnIOThread), zapise to na
streamy, ktere byly jako standardni nastaveny puvodne. (tj. jako by tam
tenhle stream vubec nebyl).
- Author:
- Lukas Valenta (lukas.valenta@seznam.cz)
Method Summary |
static void |
installStream()
Metoda nainstaluje tenhle stream do Systemu (namisto stavajiciho
System.err streamu). |
static void |
uninstallStream()
Metoda odinstaluje tenhle stream ze systemu |
void |
write(int b)
|
Methods inherited from class java.io.OutputStream |
close, flush, write, write |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
instance
private static final ThreadErrorStream instance
installed
private boolean installed
backupErr
private java.io.PrintStream backupErr
ThreadErrorStream
private ThreadErrorStream()
installStream
public static void installStream()
- Metoda nainstaluje tenhle stream do Systemu (namisto stavajiciho
System.err streamu).
uninstallStream
public static void uninstallStream()
- Metoda odinstaluje tenhle stream ze systemu
write
public void write(int b)
throws java.io.IOException
- Specified by:
write
in class java.io.OutputStream
- Throws:
java.io.IOException
Copyright © 2007 University of West Bohemia, KIV, author Lukas Valenta (lvalenta at civ.zcu.cz). All Rights Reserved. Build date 20110415.