Package groovy.console.ui
Class SystemOutputInterceptor
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
groovy.console.ui.SystemOutputInterceptor
- All Implemented Interfaces:
- java.io.Closeable,- java.io.Flushable,- java.lang.AutoCloseable
public class SystemOutputInterceptor
extends java.io.FilterOutputStream
Intercepts System.out/System.err. Implementation helper for Console.groovy.
- 
Field SummaryFields inherited from class java.io.FilterOutputStreamout
- 
Constructor SummaryConstructors Constructor Description SystemOutputInterceptor(Closure callback)ConstructorSystemOutputInterceptor(Closure callback, boolean output)Constructor
- 
Method SummaryModifier and Type Method Description voidremoveConsoleId()Threads executing a script should call this method after execution completes in order to unregister the consoleId.voidsetConsoleId(int consoleId)Threads executing a script should call this method at the start of execution in order to set the id of the console that is hosting the thread of execution.voidstart()Starts intercepting System.out/System.errvoidstop()Stops intercepting System.out/System.err, sending output to wherever it was going when this interceptor was created.voidwrite(byte[] b, int off, int len)Intercepts output - more common case of byte[]voidwrite(int b)Intercepts output - single charactersMethods inherited from class java.io.FilterOutputStreamclose, flush, writeMethods inherited from class java.io.OutputStreamnullOutputStreamMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- 
Constructor Details- 
SystemOutputInterceptorConstructor- Parameters:
- callback- accepts the id of the target Console instance and 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.
 
- 
SystemOutputInterceptorConstructor- Parameters:
- callback- accepts the id of the target Console instance and 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- 
startpublic void start()Starts intercepting System.out/System.err
- 
stoppublic void stop()Stops intercepting System.out/System.err, sending output to wherever it was going when this interceptor was created.
- 
writepublic void write(byte[] b, int off, int len) throws java.io.IOExceptionIntercepts output - more common case of byte[]- Overrides:
- writein class- java.io.FilterOutputStream
- Throws:
- java.io.IOException
 
- 
writepublic void write(int b) throws java.io.IOExceptionIntercepts output - single characters- Overrides:
- writein class- java.io.FilterOutputStream
- Throws:
- java.io.IOException
 
- 
setConsoleIdpublic void setConsoleId(int consoleId)Threads executing a script should call this method at the start of execution in order to set the id of the console that is hosting the thread of execution. This should be called prior to any output that is generated. The consoleId will be passed to the callback.- Parameters:
- consoleId- id of the Console instance executing the script
 
- 
removeConsoleIdpublic void removeConsoleId()Threads executing a script should call this method after execution completes in order to unregister the consoleId.
 
-