groovy.ui
Class SystemOutputInterceptor

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by groovy.ui.SystemOutputInterceptor
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public class SystemOutputInterceptor
extends FilterOutputStream

Intercepts System.out/System.err. Implementation helper for Console.groovy.

Version:
$Id: SystemOutputInterceptor.java 20589 2010-07-31 03:25:47Z paulk $

Field Summary
Modifier and Type Field and Description
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
Constructor and Description
SystemOutputInterceptor(Closure callback)
          Constructor
SystemOutputInterceptor(Closure callback, boolean output)
          Constructor
 
Method Summary
Modifier and Type Method and Description
 void start()
          Starts intercepting System.out/System.err
 void stop()
          Stops intercepting System.out/System.err, sending output to whereever it was going when this interceptor was created.
 void write(byte[] b, int off, int len)
          Intercepts output - moret common case of byte[]
 void write(int b)
          Intercepts output - single characters
 
Methods inherited from class java.io.FilterOutputStream
close, flush, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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 Detail

start

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


stop

public void stop()
Stops intercepting System.out/System.err, sending output to whereever 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

Copyright © 2003-2010 The Codehaus. All rights reserved.