cz.zcu.validationserver.streams
Class ThreadErrorStream

java.lang.Object
  extended by java.io.OutputStream
      extended by 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)

Field Summary
private  java.io.PrintStream backupErr
           
private  boolean installed
           
private static ThreadErrorStream instance
           
 
Constructor Summary
private ThreadErrorStream()
           
 
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
 

Field Detail

instance

private static final ThreadErrorStream instance

installed

private boolean installed

backupErr

private java.io.PrintStream backupErr
Constructor Detail

ThreadErrorStream

private ThreadErrorStream()
Method Detail

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.