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

public class SystemOutputInterceptor
extends FilterOutputStream

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

Version:
$Id: SystemOutputInterceptor.java 18936 2010-01-08 03:40:36Z roshandawrani $

Field Summary
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
SystemOutputInterceptor(Closure callback)
          Constructor
SystemOutputInterceptor(Closure callback, boolean output)
          Constructor
 
Method Summary
 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.