org.strbio.local
Class Program

java.lang.Object
  extended by org.strbio.local.Program
Direct Known Subclasses:
Access, BlastPAdapter, ClustalW, DSSP, Ls, MaxSub, Melting, Mfold, Minarea, Modeller, Muscle, Primer3, VarTom

public class Program
extends java.lang.Object

Class to run a program on the local system.

 Version 2.01, 6/14/06 - fixed comments, removed debugging messages
 Version 2.0, 10/3/02 - works with more modern Java, doesn't
   require a new class for each program that's run.
 Version 1.0, 4/22/98 - original version
 

Version:
2.01, 6/14/06
Author:
JMC

Field Summary
 java.io.OutputStream processError
          Stream for program to write error to; default System.err.
 java.io.InputStream processInput
          Stream for program to take input from; default none.
 java.io.OutputStream processOutput
          Stream for program to write output to; default System.out.
 java.lang.String PROGRAM_NAME
          What's the name of this program?
 
Constructor Summary
Program()
          Default constructor doesn't know program name; must setProgramName to work
Program(java.lang.String programName)
          constructor with program name
 
Method Summary
 void clean(java.lang.String args)
          Clean up files left around after running the program with a given argument string.
 boolean exists()
          Can we run the program on this system?
 java.lang.String programName()
          What's the name of this program?
 void run(java.lang.String args)
          Run program with specified arguments, in foreground; both stdout and stdin are redirected to the
 java.lang.Process runBackground(java.lang.String args)
          Run program with specified arguments, in background, quietly.
 void runSilent(java.lang.String args)
          Run program with specified arguments, quietly.
 void setError(java.io.OutputStream error)
          redirect process error to a given stream
 void setInput(java.io.InputStream input)
          redirect process input from a given stream
 void setOutput(java.io.OutputStream output)
          redirect process output to a given stream
 void setProgramName(java.lang.String s)
          Set the name of this program
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

processInput

public java.io.InputStream processInput
Stream for program to take input from; default none.


processOutput

public java.io.OutputStream processOutput
Stream for program to write output to; default System.out.


processError

public java.io.OutputStream processError
Stream for program to write error to; default System.err.


PROGRAM_NAME

public java.lang.String PROGRAM_NAME
What's the name of this program?

Constructor Detail

Program

public Program()
Default constructor doesn't know program name; must setProgramName to work


Program

public Program(java.lang.String programName)
constructor with program name

Method Detail

setInput

public void setInput(java.io.InputStream input)
redirect process input from a given stream


setOutput

public void setOutput(java.io.OutputStream output)
redirect process output to a given stream


setError

public void setError(java.io.OutputStream error)
redirect process error to a given stream


programName

public java.lang.String programName()
What's the name of this program?


setProgramName

public void setProgramName(java.lang.String s)
Set the name of this program


exists

public boolean exists()
Can we run the program on this system? This doesn't work in Java 1.1.


run

public void run(java.lang.String args)
Run program with specified arguments, in foreground; both stdout and stdin are redirected to the


runSilent

public void runSilent(java.lang.String args)
Run program with specified arguments, quietly.


runBackground

public java.lang.Process runBackground(java.lang.String args)
                                throws java.io.IOException
Run program with specified arguments, in background, quietly. Returns Process. You have to control the process, i.e. waitFor() it to finish or kill it when done with it.

Throws:
java.io.IOException

clean

public void clean(java.lang.String args)
Clean up files left around after running the program with a given argument string.