Package com.martiansoftware.nailgun
Class ThreadLocalPrintStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.io.PrintStream
com.martiansoftware.nailgun.ThreadLocalPrintStream
- All Implemented Interfaces:
Closeable,Flushable,Appendable,AutoCloseable
The class name is pretty descriptive. This creates a PrintStream
much like a FilterOutputStream, but with the wrapped PrintStream
being local to the current Thread. By setting System.out to a
ThreadLocalPrintStream, different Threads can write to different
PrintStreams simply by using System.out. Of course, the init()
method must be called by the Thread that wishes to use the
wrapped stream.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate PrintStreamprivate InheritableThreadLocalThe PrintStreams for the various threadsFields inherited from class java.io.FilterOutputStream
out -
Constructor Summary
ConstructorsConstructorDescriptionThreadLocalPrintStream(PrintStream defaultPrintStream) Creates a new InheritedThreadLocalPrintStream -
Method Summary
Modifier and TypeMethodDescriptionbooleanvoidclose()voidflush()(package private) PrintStreamReturns this thread's PrintStream(package private) voidinit(PrintStream streamForCurrentThread) Sets the PrintStream for the current threadvoidprint(boolean b) voidprint(char c) voidprint(char[] s) voidprint(double d) voidprint(float f) voidprint(int i) voidprint(long l) voidvoidvoidprintln()voidprintln(boolean x) voidprintln(char x) voidprintln(char[] x) voidprintln(double x) voidprintln(float x) voidprintln(int x) voidprintln(long x) voidvoidvoidwrite(byte[] b) voidwrite(byte[] buf, int off, int len) voidwrite(int b) Methods inherited from class java.io.PrintStream
append, append, append, clearError, format, format, printf, printf, setError
-
Field Details
-
streams
The PrintStreams for the various threads -
defaultPrintStream
-
-
Constructor Details
-
ThreadLocalPrintStream
Creates a new InheritedThreadLocalPrintStream- Parameters:
defaultPrintStream- the PrintStream that will be used if the current thread has not called init()
-
-
Method Details
-
init
Sets the PrintStream for the current thread- Parameters:
streamForCurrentThread- the PrintStream for the current thread
-
getPrintStream
PrintStream getPrintStream()Returns this thread's PrintStream- Returns:
- this thread's PrintStream
-
checkError
public boolean checkError()- Overrides:
checkErrorin classPrintStream- See Also:
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classPrintStream- See Also:
-
flush
public void flush()- Specified by:
flushin interfaceFlushable- Overrides:
flushin classPrintStream- See Also:
-
print
public void print(boolean b) - Overrides:
printin classPrintStream- See Also:
-
print
public void print(char c) - Overrides:
printin classPrintStream- See Also:
-
print
public void print(char[] s) - Overrides:
printin classPrintStream- See Also:
-
print
public void print(double d) - Overrides:
printin classPrintStream- See Also:
-
print
public void print(float f) - Overrides:
printin classPrintStream- See Also:
-
print
public void print(int i) - Overrides:
printin classPrintStream- See Also:
-
print
public void print(long l) - Overrides:
printin classPrintStream- See Also:
-
print
- Overrides:
printin classPrintStream- See Also:
-
print
- Overrides:
printin classPrintStream- See Also:
-
println
public void println()- Overrides:
printlnin classPrintStream- See Also:
-
println
public void println(boolean x) - Overrides:
printlnin classPrintStream- See Also:
-
println
public void println(char x) - Overrides:
printlnin classPrintStream- See Also:
-
println
public void println(char[] x) - Overrides:
printlnin classPrintStream- See Also:
-
println
public void println(double x) - Overrides:
printlnin classPrintStream- See Also:
-
println
public void println(float x) - Overrides:
printlnin classPrintStream- See Also:
-
println
public void println(int x) - Overrides:
printlnin classPrintStream- See Also:
-
println
public void println(long x) - Overrides:
printlnin classPrintStream- See Also:
-
println
- Overrides:
printlnin classPrintStream- See Also:
-
println
- Overrides:
printlnin classPrintStream- See Also:
-
write
public void write(byte[] buf, int off, int len) - Overrides:
writein classPrintStream- See Also:
-
write
public void write(int b) - Overrides:
writein classPrintStream- See Also:
-
write
- Overrides:
writein classFilterOutputStream- Throws:
IOException- See Also:
-