com.norconex.commons.lang.io
Class StreamGobbler

java.lang.Object
  extended by java.lang.Thread
      extended by com.norconex.commons.lang.io.StreamGobbler
All Implemented Interfaces:
Runnable

public class StreamGobbler
extends Thread

A stream gobbler will simply read incoming text from a stream. This is often required by some processes/operating systems in order to prevent application freeze. For example, this is a way to capture the STDOUT and STDERR from a process.

Author:
Pascal Essiembre

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
StreamGobbler(InputStream is)
          Constructor.
StreamGobbler(InputStream is, String type)
          Constructor.
 
Method Summary
 void addStreamListener(IStreamListener... l)
          Adds stream listeners.
protected  void afterStreaming()
          Invoked just after steaming ended, before the thread dies.
protected  void beforeStreaming()
          Invoked just before steaming begins, in a new thread.
 void removeStreamListener(IStreamListener listener)
          Removes a stream listener.
 void run()
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StreamGobbler

public StreamGobbler(InputStream is)
Constructor.

Parameters:
is - input stream

StreamGobbler

public StreamGobbler(InputStream is,
                     String type)
Constructor.

Parameters:
is - input stream
Method Detail

run

public void run()
Specified by:
run in interface Runnable
Overrides:
run in class Thread

addStreamListener

public void addStreamListener(IStreamListener... l)
Adds stream listeners.

Parameters:
l - stream listeners

removeStreamListener

public void removeStreamListener(IStreamListener listener)
Removes a stream listener.

Parameters:
listener - stream listener

beforeStreaming

protected void beforeStreaming()
Invoked just before steaming begins, in a new thread. Default implementation does nothing. This method is for implementors.


afterStreaming

protected void afterStreaming()
Invoked just after steaming ended, before the thread dies. Default implementation does nothing. This method is for implementors.



Copyright © 2008-2013 Norconex Inc.. All Rights Reserved.