/*
*
* Perforce/JBuilder Opentool
* Copyright (C) 2001 David Freels
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
package com.dafreels.opentools.command;
import java.io.InputStream;
import java.io.BufferedInputStream;
import java.io.IOException;
/**
* Title:
* Description:
* Copyright: Copyright (c) 2001
* Company: DF Systems
* @author David Freels
* @version 1.0
*/
public class ProcessReader implements Runnable
{
private BufferedInputStream _in = null; //The input stream to read from
private String _input = ""; //Holds the data
private boolean _finished = false;
public ProcessReader(InputStream in)
{
_in = new BufferedInputStream(in);
}
public synchronized String getProcessOutput()
{
return _input;
}
public boolean isFinished()
{
return _finished;
}
public void run()
{
StringBuffer input = new StringBuffer("");
byte[] buffer = new byte[256];
try
{
String tmp = "";
while(_in.read(buffer) > 0)
{
tmp = new String(buffer);
if(tmp != null && !tmp.equals(""))
{
input.append(tmp);
}
}
_input = input.toString();
} catch(IOException ioe)
{
System.out.println("Error reading data from process!"+System.getProperty("line.separator")+ioe.toString());
} finally
{
_finished = true;
}
}
}