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 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.
-
-
-
Method Detail
-
start
public void start() throws java.lang.InterruptedException
Starts 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.InterruptedException
Joins 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:
run
in interfacejava.lang.Runnable
-
-