Class DeadlockPrintStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.io.PrintStream
org.tanukisoftware.wrapper.test.DeadlockPrintStream
All Implemented Interfaces:
Closeable, Flushable, Appendable, AutoCloseable

public class DeadlockPrintStream extends PrintStream
A print stream which can be put into a state in which all calls to write to it will result in the calling threads deadlocking in the call. Obviously, this class will not be useful to many as it is for tests.
  • Constructor Details

    • DeadlockPrintStream

      public DeadlockPrintStream(PrintStream out)
      Creates a new DeadlockPrintStream wrapped around another PrintStream.
      Parameters:
      out - The PrintStream which will be wrapped by this new stream.
    • DeadlockPrintStream

      public DeadlockPrintStream(PrintStream out, boolean autoFlush, String encoding) throws UnsupportedEncodingException
      Creates a new DeadlockPrintStream wrapped around another PrintStream.
      Parameters:
      out - The PrintStream which will be wrapped by this new stream.
      autoFlush - Whether the output buffer should be automatically flushed or not. ill be passed to the parent stream.
      encoding - The name of a supported character encoding. Will be passed to the parent stream.
      Throws:
      UnsupportedEncodingException - If the named encoding is not supported.
  • Method Details

    • write

      public void write(int b)
      Overrides:
      write in class PrintStream
    • write

      public void write(byte[] b) throws IOException
      Overrides:
      write in class PrintStream
      Throws:
      IOException
    • write

      public void write(byte[] b, int off, int len)
      Overrides:
      write in class PrintStream
    • flush

      public void flush()
      Specified by:
      flush in interface Flushable
      Overrides:
      flush in class PrintStream
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class PrintStream
    • setDeadlock

      public void setDeadlock(boolean deadlock)
      Sets or clears the deadlock flag. If set, calls to any other method of this class will result in the calling thread being deadlocked. They will be released if the flag is cleared with this method.
      Parameters:
      deadlock - True to set the flag, false to clear it.