Package groovy.ui

Class SystemOutputInterceptor

All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public class SystemOutputInterceptor extends FilterOutputStream
Intercepts System.out/System.err. Implementation helper for Console.groovy.
Version:
$Id$
  • Constructor Details

    • SystemOutputInterceptor

      public SystemOutputInterceptor(Closure callback)
      Constructor
      Parameters:
      callback - accepts a string to be sent to std out and returns a Boolean. If the return value is true, output will be sent to System.out, otherwise it will not.
    • SystemOutputInterceptor

      public SystemOutputInterceptor(Closure callback, boolean output)
      Constructor
      Parameters:
      callback - accepts a string to be sent to std out and returns a Boolean. If the return value is true, output will be sent to System.out/System.err, otherwise it will not.
      output - flag that tells whether System.out needs capturing ot System.err
  • Method Details

    • start

      public void start()
      Starts intercepting System.out/System.err
    • stop

      public void stop()
      Stops intercepting System.out/System.err, sending output to wherever it was going when this interceptor was created.
    • write

      public void write(byte[] b, int off, int len) throws IOException
      Intercepts output - moret common case of byte[]
      Overrides:
      write in class FilterOutputStream
      Throws:
      IOException
    • write

      public void write(int b) throws IOException
      Intercepts output - single characters
      Overrides:
      write in class FilterOutputStream
      Throws:
      IOException