com.mucommander.io
Class SilenceablePrintStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by java.io.PrintStream
              extended by com.mucommander.io.SilenceablePrintStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable, java.lang.Appendable

public class SilenceablePrintStream
extends java.io.PrintStream

SilenceablePrintStream is as the name implies a proxy PrintStream that can be silenced. The setSilenced(boolean) method allows to control whether the data written to the stream should go through (be written to the underlying stream) or be ignored.

Author:
Maxence Bernard

Field Summary
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
SilenceablePrintStream(java.io.OutputStream out)
          Creates a new SilenceablePrintStream that forwards written data to the specified OutputStream when not silenced.
SilenceablePrintStream(java.io.OutputStream out, boolean silenced)
          Creates a new SilenceablePrintStream that forwards written data to the specified OutputStream when not silenced.
 
Method Summary
 boolean isSilenced()
          Returns true if this SilenceablePrintStream is currently ignoring calls to write and print methods, false if it is forwarding written data to the underlying OutputStream.
 void print(boolean b)
           
 void print(char c)
           
 void print(char[] chars)
           
 void print(double v)
           
 void print(float v)
           
 void print(int i)
           
 void print(long l)
           
 void print(java.lang.Object object)
           
 void print(java.lang.String string)
           
 void println()
           
 void println(boolean b)
           
 void println(char c)
           
 void println(char[] chars)
           
 void println(double v)
           
 void println(float v)
           
 void println(int i)
           
 void println(long l)
           
 void println(java.lang.Object object)
           
 void println(java.lang.String string)
           
 void setSilenced(boolean silenced)
          Controls whether the data written to the stream goes through (be written to the underlying stream) or is ignored.
 void write(byte[] bytes)
           
 void write(byte[] bytes, int i, int i1)
           
 void write(int i)
           
 
Methods inherited from class java.io.PrintStream
append, append, append, checkError, clearError, close, flush, format, format, printf, printf, setError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SilenceablePrintStream

public SilenceablePrintStream(java.io.OutputStream out)
Creates a new SilenceablePrintStream that forwards written data to the specified OutputStream when not silenced. By default, this SilenceablePrintStream is not silenced.

Parameters:
out - the OutputStream to forward the data written to when not silenced

SilenceablePrintStream

public SilenceablePrintStream(java.io.OutputStream out,
                              boolean silenced)
Creates a new SilenceablePrintStream that forwards written data to the specified OutputStream when not silenced.

Parameters:
out - the OutputStream to forward the data written to when not silenced
silenced - initial silenced state
Method Detail

setSilenced

public void setSilenced(boolean silenced)
Controls whether the data written to the stream goes through (be written to the underlying stream) or is ignored. If called with false, any further call to write or print methods will be ignored (they become no-op), until this method is called again with false. Note that un-silencing this stream will not print messages that were previously written while the stream was silenced.

Parameters:
silenced - if true, write and print methods will become no-op, if false data written

isSilenced

public boolean isSilenced()
Returns true if this SilenceablePrintStream is currently ignoring calls to write and print methods, false if it is forwarding written data to the underlying OutputStream.


write

public void write(int i)
Overrides:
write in class java.io.PrintStream

write

public void write(byte[] bytes)
           throws java.io.IOException
Overrides:
write in class java.io.FilterOutputStream
Throws:
java.io.IOException

write

public void write(byte[] bytes,
                  int i,
                  int i1)
Overrides:
write in class java.io.PrintStream

print

public void print(boolean b)
Overrides:
print in class java.io.PrintStream

print

public void print(char c)
Overrides:
print in class java.io.PrintStream

print

public void print(int i)
Overrides:
print in class java.io.PrintStream

print

public void print(long l)
Overrides:
print in class java.io.PrintStream

print

public void print(float v)
Overrides:
print in class java.io.PrintStream

print

public void print(double v)
Overrides:
print in class java.io.PrintStream

print

public void print(char[] chars)
Overrides:
print in class java.io.PrintStream

print

public void print(java.lang.String string)
Overrides:
print in class java.io.PrintStream

print

public void print(java.lang.Object object)
Overrides:
print in class java.io.PrintStream

println

public void println()
Overrides:
println in class java.io.PrintStream

println

public void println(boolean b)
Overrides:
println in class java.io.PrintStream

println

public void println(char c)
Overrides:
println in class java.io.PrintStream

println

public void println(int i)
Overrides:
println in class java.io.PrintStream

println

public void println(long l)
Overrides:
println in class java.io.PrintStream

println

public void println(float v)
Overrides:
println in class java.io.PrintStream

println

public void println(double v)
Overrides:
println in class java.io.PrintStream

println

public void println(char[] chars)
Overrides:
println in class java.io.PrintStream

println

public void println(java.lang.String string)
Overrides:
println in class java.io.PrintStream

println

public void println(java.lang.Object object)
Overrides:
println in class java.io.PrintStream


This file is part of muCommander - Copyright (C) 2002-2008 Maxence Bernard