Package org.eclipse.rse.services.terminals
Application programming interface for the RSE Base Shell and Terminal Services.
See:
Description
Interface Summary
|
IBaseShell
|
A basic shell, representing the connection to some process that may be
running local or remote. |
ITerminalService
|
Interface for getting Terminal Connections from a remote side, also known as
terminal session with Streams. |
ITerminalShell
|
Interface representing a terminal connection through Streams. |
Class Summary
|
AbstractDelegatingTerminalService
|
Base class that can be used for decorating an existing terminal service with
additional functionality. |
AbstractTerminalService
|
Abstract base class for clients to create an ITerminalService. |
AbstractTerminalShell
|
Abstract base class for clients to create an ITerminalShell instance. |
BaseShellDecorator
|
Abstract base class for clients to decorate an IBaseShell instance they have
with additional functionality. |
TerminalShellDecorator
|
Abstract base class for clients to decorate an ITerminalShell instance they
have with additional functionality. |
Package org.eclipse.rse.services.terminals Description
Application programming interface for the RSE Base Shell and Terminal Services.
Package Specification
The RSE Terminal Services packages provides interfaces and basic utility classes
for shell or terminal connections. The classes in this package are especially designed
to be extendable by means of the Decorator pattern as well as the Adapter
pattern:
-
IBaseShell
is the basic interface for communicating with a (potentially remote) process
through a channel supporting Streams. The Interface is modeled after the
java.lang.Process
class, but provides some nice enhancements such as a timeout for the
waitFor()
method, as well as an isActive()
method.
-
ITerminalShell
extends IBaseShell, adding methods specific to the presentation of the data
transferred from the (remote) process: it provides for getDefaultEncoding(),
getPtyType(), isLocalEcho() as well as setTerminalSize() methods.
-
AbstractTerminalShell
is an abstract base class that implementers of ITerminalShell must extend.
It provides default implementations of all methods where possible, and
ensures that future evolving of the ITerminalShell interface
can be done without breaking binary compatibility with extenders implementing it.
-
BaseShellDecorator
and
eclipse_rse_eclipse_rse_Teclipse_rse_eeclipse_rse_reclipse_rse_meclipse_rse_ieclipse_rse_neclipse_rse_aeclipse_rse_leclipse_rse_Seclipse_rse_heclipse_rse_eeclipse_rse_leclipse_rse_leclipse_rse_Declipse_rse_eeclipse_rse_ceclipse_rse_oeclipse_rse_reclipse_rse_aeclipse_rse_teclipse_rse_oeclipse_rse_reclipse_rse_eclipse_rse_
abstract base
classes should be used when clients want to add functionality by decorating
an existing IBaseShell or ITerminalShell object they have. Again, extending
these not only saves the extender typing default delegation methods, but also
ensures that they remain binary compatible in case the interfaces evolve.
-
ITerminalService
is the RSE Service Interface, and currently only
provides one factory method launchTerminal()
for creating
a new Terminal Connection.
eclipse_rse_eclipse_rse_Aeclipse_rse_beclipse_rse_seclipse_rse_teclipse_rse_reclipse_rse_aeclipse_rse_ceclipse_rse_teclipse_rse_Teclipse_rse_eeclipse_rse_reclipse_rse_meclipse_rse_ieclipse_rse_neclipse_rse_aeclipse_rse_leclipse_rse_Seclipse_rse_eeclipse_rse_reclipse_rse_veclipse_rse_ieclipse_rse_ceclipse_rse_eeclipse_rse_eclipse_rse_
must be used as base
class by extenders who wish to implement the ITerminalService, in order to ensure
binary compatibility in case the interface evolves - even though
the AbstractTerminalService is currently empty.
The classes and interfaces in this package are designed to have only minimal
dependency into Eclipse core APIs, such that Services can eventually be re-used in
environments outside Eclipse. Especially
IBaseShell
, along with
ProcessBaseShell
and
BaseShellDecorator
are usable in
any environment, provided that mock objects are provided for Eclipse
IAdaptable and PlatformObject.
Copyright (c) IBM Corporation and others 2000, 2008. All Rights Reserved.