Package gnu.dtools.ritopt
Class StreamPrinter
- java.lang.Object
-
- gnu.dtools.ritopt.StreamPrinter
-
- All Implemented Interfaces:
Stoppable,java.lang.Runnable
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
-
-
Constructor Summary
Constructors Constructor Description StreamPrinter(java.io.InputStream s, java.io.PrintStream p)Constructs a new StreamPrinter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisStopped()Returns whether this StreamPrinter has stopped processing.voidjoin()Joins this StreamPrinter's thread with the other threads.voidrun()Start the StreamPrinter thread.voidsetFlush(boolean flush)Sets whether the output stream should be flushed after each output step.voidsetStop(Stoppable tostop)Sets the object to stop when this object is finished.voidstart()Starts the thread associated with this StreamPrinter.voidstop()Stops this StreamPrinter's processing.
-
-
-
Method Detail
-
start
public void start() throws java.lang.InterruptedExceptionStarts the thread associated with this StreamPrinter.- Throws:
java.lang.InterruptedException
-
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.
-
setFlush
public void setFlush(boolean flush)
Sets whether the output stream should be flushed after each output step.- Parameters:
flush- A boolean value.
-
stop
public void stop()
Stops this StreamPrinter's processing.
-
join
public void join() throws java.lang.InterruptedExceptionJoins this StreamPrinter's thread with the other threads.- Throws:
java.lang.InterruptedException
-
run
public void run()
Start the StreamPrinter thread. This is done automatically during construction.- Specified by:
runin interfacejava.lang.Runnable
-
-