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:
java.io.Closeable
,java.io.Flushable
,java.lang.Appendable
,java.lang.AutoCloseable
class ThreadLocalPrintStream extends java.io.PrintStream
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
Fields Modifier and Type Field Description private java.io.PrintStream
defaultPrintStream
private java.lang.InheritableThreadLocal
streams
The PrintStreams for the various threads
-
Constructor Summary
Constructors Constructor Description ThreadLocalPrintStream(java.io.PrintStream defaultPrintStream)
Creates a new InheritedThreadLocalPrintStream
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
checkError()
void
close()
void
flush()
(package private) java.io.PrintStream
getPrintStream()
Returns this thread's PrintStream(package private) void
init(java.io.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
print(java.lang.Object obj)
void
print(java.lang.String s)
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
println(java.lang.Object x)
void
println(java.lang.String x)
void
write(byte[] b)
void
write(byte[] buf, int off, int len)
void
write(int b)
-
-
-
Method Detail
-
init
void init(java.io.PrintStream streamForCurrentThread)
Sets the PrintStream for the current thread- Parameters:
streamForCurrentThread
- the PrintStream for the current thread
-
getPrintStream
java.io.PrintStream getPrintStream()
Returns this thread's PrintStream- Returns:
- this thread's PrintStream
-
checkError
public boolean checkError()
- Overrides:
checkError
in classjava.io.PrintStream
- See Also:
PrintStream.checkError()
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.PrintStream
- See Also:
PrintStream.close()
-
flush
public void flush()
- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classjava.io.PrintStream
- See Also:
PrintStream.flush()
-
print
public void print(boolean b)
- Overrides:
print
in classjava.io.PrintStream
- See Also:
PrintStream.print(boolean)
-
print
public void print(char c)
- Overrides:
print
in classjava.io.PrintStream
- See Also:
PrintStream.print(char)
-
print
public void print(char[] s)
- Overrides:
print
in classjava.io.PrintStream
- See Also:
PrintStream.print(char[])
-
print
public void print(double d)
- Overrides:
print
in classjava.io.PrintStream
- See Also:
PrintStream.print(double)
-
print
public void print(float f)
- Overrides:
print
in classjava.io.PrintStream
- See Also:
PrintStream.print(float)
-
print
public void print(int i)
- Overrides:
print
in classjava.io.PrintStream
- See Also:
PrintStream.print(int)
-
print
public void print(long l)
- Overrides:
print
in classjava.io.PrintStream
- See Also:
PrintStream.print(long)
-
print
public void print(java.lang.Object obj)
- Overrides:
print
in classjava.io.PrintStream
- See Also:
PrintStream.print(Object)
-
print
public void print(java.lang.String s)
- Overrides:
print
in classjava.io.PrintStream
- See Also:
PrintStream.print(String)
-
println
public void println()
- Overrides:
println
in classjava.io.PrintStream
- See Also:
PrintStream.println()
-
println
public void println(boolean x)
- Overrides:
println
in classjava.io.PrintStream
- See Also:
PrintStream.println(boolean)
-
println
public void println(char x)
- Overrides:
println
in classjava.io.PrintStream
- See Also:
PrintStream.println(char)
-
println
public void println(char[] x)
- Overrides:
println
in classjava.io.PrintStream
- See Also:
PrintStream.println(char[])
-
println
public void println(double x)
- Overrides:
println
in classjava.io.PrintStream
- See Also:
PrintStream.println(double)
-
println
public void println(float x)
- Overrides:
println
in classjava.io.PrintStream
- See Also:
PrintStream.println(float)
-
println
public void println(int x)
- Overrides:
println
in classjava.io.PrintStream
- See Also:
PrintStream.println(int)
-
println
public void println(long x)
- Overrides:
println
in classjava.io.PrintStream
- See Also:
PrintStream.println(long)
-
println
public void println(java.lang.Object x)
- Overrides:
println
in classjava.io.PrintStream
- See Also:
PrintStream.println(Object)
-
println
public void println(java.lang.String x)
- Overrides:
println
in classjava.io.PrintStream
- See Also:
PrintStream.println(String)
-
write
public void write(byte[] buf, int off, int len)
- Overrides:
write
in classjava.io.PrintStream
- See Also:
PrintStream.write(byte[],int,int)
-
write
public void write(int b)
- Overrides:
write
in classjava.io.PrintStream
- See Also:
PrintStream.write(int)
-
write
public void write(byte[] b) throws java.io.IOException
- Overrides:
write
in classjava.io.FilterOutputStream
- Throws:
java.io.IOException
- See Also:
FilterOutputStream.write(byte[])
-
-