|
ritopt API Documentation by Damian Eads |
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||
java.lang.Object
|
+--java.lang.Process
|
+--gnu.dtools.ritopt.SimpleProcess
A SimpleProcess is used to execute a shell process, and redirect an input stream to the processes' standard input, as well as redirect the processes' standard output/error to an output stream. The processes is multithreaded to prevent deadlock.
The example below demonstrates the use of this class.
class ExecuteProcess {
public static void main( String args[] ) {
if ( args.length > 0 ) {
String processName = args[ 0 ];
try {
SimpleProcess process
= new SimpleProcess( Runtime.getRuntime.exec(
processName ) );
);
int exitStatus = process.waitFor();
System.out.println( "The process ran successfully"
+ " with an exit status of "
+ exitStatus + "." );
}
catch ( Exception e ) {
System.out.println( "The process was not successful. "
+ " Reason: " + e.getMessage() );
}
}
else {
System.err.println( "Please specify a command" );
}
}
}
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 | |
SimpleProcess(java.lang.Process process)
Constructs a SimpleProcess, redirecting System.in to the its standard input, System.out to its standard output, and System.err to its standard error. |
|
SimpleProcess(java.lang.Process process,
java.io.InputStream processInput,
java.io.PrintStream yourOutput,
java.io.PrintStream yourError)
Constructs a SimpleProcess, initializing it with the streams passed. |
|
| Method Summary | |
void |
destroy()
Destroys the target process. |
int |
exitValue()
Returns the target processes' exit value. |
java.io.InputStream |
getErrorStream()
Returns the standard error of this process. |
java.io.InputStream |
getInputStream()
Returns the standard output of this process. |
java.io.OutputStream |
getOutputStream()
Returns the standard input of this process. |
int |
waitFor()
Begin redirecting the streams passed. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public SimpleProcess(java.lang.Process process)
throws java.io.IOException
public SimpleProcess(java.lang.Process process,
java.io.InputStream processInput,
java.io.PrintStream yourOutput,
java.io.PrintStream yourError)
throws java.io.IOException
process - The target process.processInput - The stream that is redirected to the
processes' standard input.processOutput - The stream to redirect the processes's
standard output.processError - The stream to redirect the processes's
standard input.| Method Detail |
public java.io.OutputStream getOutputStream()
getOutputStream in class java.lang.Processpublic java.io.InputStream getInputStream()
getInputStream in class java.lang.Processpublic java.io.InputStream getErrorStream()
getErrorStream in class java.lang.Process
public int waitFor()
throws java.lang.InterruptedException
waitFor in class java.lang.Processpublic int exitValue()
exitValue in class java.lang.Process
public void destroy()
throws java.lang.IllegalThreadStateException
destroy in class java.lang.Process
|
Copyright (C) Damian Ryan Eads, 2001. All Rights Reserved. |
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||