Class KeepAliveOutputStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.apache.tools.ant.util.KeepAliveOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable

public class KeepAliveOutputStream
extends java.io.FilterOutputStream
Class that can be used to wrap System.out and System.err without getting anxious about any client closing the stream.

In code-language it means that it is not necessary to do:

 if (out != System.out && out != System.err) {
   out.close();
 }
 
  • Field Summary

    Fields inherited from class java.io.FilterOutputStream

    out
  • Constructor Summary

    Constructors 
    Constructor Description
    KeepAliveOutputStream​(java.io.OutputStream out)
    Constructor of KeepAliveOutputStream.
  • Method Summary

    Modifier and Type Method Description
    void close()
    This method does nothing.
    static java.io.PrintStream wrapSystemErr()
    Convenience factory method that returns a non-closing PrintStream around System.err.
    static java.io.PrintStream wrapSystemOut()
    Convenience factory method that returns a non-closing PrintStream around System.out.

    Methods inherited from class java.io.FilterOutputStream

    flush, write, write, write

    Methods inherited from class java.io.OutputStream

    nullOutputStream

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • KeepAliveOutputStream

      public KeepAliveOutputStream​(java.io.OutputStream out)
      Constructor of KeepAliveOutputStream.
      Parameters:
      out - an OutputStream value, it should be standard output.
  • Method Details

    • close

      public void close() throws java.io.IOException
      This method does nothing.
      Specified by:
      close in interface java.lang.AutoCloseable
      Specified by:
      close in interface java.io.Closeable
      Overrides:
      close in class java.io.FilterOutputStream
      Throws:
      java.io.IOException - as we are overriding FilterOutputStream.
    • wrapSystemOut

      public static java.io.PrintStream wrapSystemOut()
      Convenience factory method that returns a non-closing PrintStream around System.out.
      Returns:
      PrintStream
      Since:
      Ant 1.8.0
    • wrapSystemErr

      public static java.io.PrintStream wrapSystemErr()
      Convenience factory method that returns a non-closing PrintStream around System.err.
      Returns:
      PrintStream
      Since:
      Ant 1.8.0