ritopt API Documentation
by Damian Eads

gnu.dtools.ritopt
Class StreamPrinter

java.lang.Object
  |
  +--gnu.dtools.ritopt.StreamPrinter
All Implemented Interfaces:
java.lang.Runnable, Stoppable

public class StreamPrinter
extends java.lang.Object
implements java.lang.Runnable, Stoppable

Reads data from an input stream and outputs to a print stream. This class is used by the OptionMenu class to read from both standard output and standard error simultaneously when a shell command is executed. Since the StreamPrinter processes streams on a separate thread, deadlock is prevented.


 Copyright (C) Damian Ryan Eads, 2001. All Rights Reserved.

 ritopt is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 ritopt is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with ritopt; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 

Author:
Damian Eads

Constructor Summary
StreamPrinter(java.io.InputStream s, java.io.PrintStream p)
          Constructs a new StreamPrinter.
 
Method Summary
 boolean isStopped()
          Returns whether this StreamPrinter has stopped processing.
 void join()
          Joins this StreamPrinter's thread with the other threads.
 void run()
          Start the StreamPrinter thread.
 void setFlush(boolean flush)
          Sets whether the output stream should be flushed after each output step.
 void setStop(Stoppable tostop)
          Sets the object to stop when this object is finished.
 void start()
          Starts the thread associated with this StreamPrinter.
 void stop()
          Stops this StreamPrinter's processing.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StreamPrinter

public StreamPrinter(java.io.InputStream s,
                     java.io.PrintStream p)
Constructs a new StreamPrinter.
Parameters:
s - The stream to read from.
p - The stream to output to.
Method Detail

start

public void start()
           throws java.lang.InterruptedException
Starts the thread associated with this StreamPrinter.

setStop

public void setStop(Stoppable tostop)
Sets the object to stop when this object is finished.
Parameters:
tostop - The object to stop.

isStopped

public boolean isStopped()
Returns whether this StreamPrinter has stopped processing.
Specified by:
isStopped in interface Stoppable
Following copied from interface: gnu.dtools.ritopt.Stoppable
Returns:
A boolean value.

setFlush

public void setFlush(boolean flush)
Sets whether the output stream should be flushed after each output step.
Parameters:
b - A boolean value.

stop

public void stop()
Stops this StreamPrinter's processing.
Specified by:
stop in interface Stoppable

join

public void join()
          throws java.lang.InterruptedException
Joins this StreamPrinter's thread with the other threads.

run

public void run()
Start the StreamPrinter thread. This is done automatically during construction.
Specified by:
run in interface java.lang.Runnable

Copyright (C) Damian Ryan Eads, 2001. All Rights Reserved.
SourceForge Logo