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 PrintStream
private InheritableThreadLocal
The 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 TypeMethodDescriptionboolean
void
close()
void
flush()
(package private) PrintStream
Returns this thread's PrintStream(package private) void
init
(PrintStream streamForCurrentThread) Sets the PrintStream for the current threadvoid
print
(boolean b) void
print
(char c) void
print
(char[] s) void
print
(double d) void
print
(float f) void
print
(int i) void
print
(long l) void
void
void
println()
void
println
(boolean x) void
println
(char x) void
println
(char[] x) void
println
(double x) void
println
(float x) void
println
(int x) void
println
(long x) void
void
void
write
(byte[] b) void
write
(byte[] buf, int off, int len) void
write
(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:
checkError
in classPrintStream
- See Also:
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classPrintStream
- See Also:
-
flush
public void flush()- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classPrintStream
- See Also:
-
print
public void print(boolean b) - Overrides:
print
in classPrintStream
- See Also:
-
print
public void print(char c) - Overrides:
print
in classPrintStream
- See Also:
-
print
public void print(char[] s) - Overrides:
print
in classPrintStream
- See Also:
-
print
public void print(double d) - Overrides:
print
in classPrintStream
- See Also:
-
print
public void print(float f) - Overrides:
print
in classPrintStream
- See Also:
-
print
public void print(int i) - Overrides:
print
in classPrintStream
- See Also:
-
print
public void print(long l) - Overrides:
print
in classPrintStream
- See Also:
-
print
- Overrides:
print
in classPrintStream
- See Also:
-
print
- Overrides:
print
in classPrintStream
- See Also:
-
println
public void println()- Overrides:
println
in classPrintStream
- See Also:
-
println
public void println(boolean x) - Overrides:
println
in classPrintStream
- See Also:
-
println
public void println(char x) - Overrides:
println
in classPrintStream
- See Also:
-
println
public void println(char[] x) - Overrides:
println
in classPrintStream
- See Also:
-
println
public void println(double x) - Overrides:
println
in classPrintStream
- See Also:
-
println
public void println(float x) - Overrides:
println
in classPrintStream
- See Also:
-
println
public void println(int x) - Overrides:
println
in classPrintStream
- See Also:
-
println
public void println(long x) - Overrides:
println
in classPrintStream
- See Also:
-
println
- Overrides:
println
in classPrintStream
- See Also:
-
println
- Overrides:
println
in classPrintStream
- See Also:
-
write
public void write(byte[] buf, int off, int len) - Overrides:
write
in classPrintStream
- See Also:
-
write
public void write(int b) - Overrides:
write
in classPrintStream
- See Also:
-
write
- Overrides:
write
in classFilterOutputStream
- Throws:
IOException
- See Also:
-