|
RSE Release 3.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IBaseShell
A basic shell, representing the connection to some process that may be
running local or remote. Clients may implement this interface.
Clients implementing this interface are encouraged to extend
PlatformObject
for providing the IAdaptable.getAdapter(Class)
functionality.
The resulting IBaseShell can be decorated by clients with additional
functionality easily by instantiating their subclassed variant of
BaseShellDecorator
.
Process
,
BaseShellDecorator
Method Summary | |
---|---|
void |
exit()
Exit this shell. |
int |
exitValue()
Return the exit value of the Process connected by this shell. |
InputStream |
getErrorStream()
Get a remote-to-local InputStream connected to the standard error output of the underlying Process. |
InputStream |
getInputStream()
Get a remote-to-local InputStream connected to the standard output of the underlying Process. |
OutputStream |
getOutputStream()
Get a local-to-remote OutputStream connected to the standard input of the underlying Process. |
boolean |
isActive()
Test whether this connection is active. |
boolean |
waitFor(long timeout)
Block the calling Thread until this shell is no longer active, or the specified timeout has elapsed. |
Methods inherited from interface org.eclipse.core.runtime.IAdaptable |
---|
getAdapter |
Method Detail |
---|
OutputStream getOutputStream()
InputStream getInputStream()
InputStream getErrorStream()
null
if they do not support
separate Streams for output and error.
Clients must not close the obtained InputStream themselves, since the
behavior that this may have on the underlying shell or process is
undefined. Use {#exit()} instead to terminate the shell if that is
desired, it will close all relevant Streams.
null
if separate output and error
streams are not supported. Error output will be merged with the
Stream obtained from getInputStream()
in that case.boolean isActive()
true
if the connection is active, i.e. the Process
underlying this connection is running, and the Streams connected
to it are not closed.exitValue()
void exit()
waitFor(long)
after calling
this method to know when the shell is really terminated. At any rate, the
exit() method returns quickly and guarantees that the shell will be
terminated as soon as possible, after any required (and possible) cleanup
is finished.
Process.destroy()
int exitValue()
IllegalThreadStateException
- when the shell is still active.Process.exitValue()
boolean waitFor(long timeout) throws InterruptedException
false
, the shell is no longer
active, so an exitValue()
may be obtained.
timeout
- the maximum time (in milliseconds) to wait.
Implementations may return sooner even if the underlying
Process has not yet terminated, so clients always need to keep
track of time themselves and need to check the return value. A
timeout value of zero causes this method to not limit the wait
time. Negative wait time has undefined behavior.
true
if the Shell is still active after waiting
(e.g. because the timeout has elapsed); false
if
the shell is no longer active.
InterruptedException
- if the waiting Thread has been interrupted,
e.g. because the main application is shutting down.isActive()
|
RSE Release 3.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |