cz.zcu.validationserver.streams
Class ThreadOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by cz.zcu.validationserver.streams.ThreadOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable

public class ThreadOutputStream
extends java.io.OutputStream

Tohle je velmi zajimavy stream: Bude slouzit jako nahrada standardnich out 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 backupOut
           
private  boolean installed
           
private static ThreadOutputStream instance
           
 
Constructor Summary
private ThreadOutputStream()
           
 
Method Summary
static void installStream()
          Metoda nainstaluje tenhle stream do Systemu (namisto stavajiciho System.out 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 ThreadOutputStream instance

installed

private boolean installed

backupOut

private java.io.PrintStream backupOut
Constructor Detail

ThreadOutputStream

private ThreadOutputStream()
Method Detail

installStream

public static void installStream()
Metoda nainstaluje tenhle stream do Systemu (namisto stavajiciho System.out 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.