RSE
Release 3.0

org.eclipse.rse.internal.services.terminals
Class TerminalShellDecorator

java.lang.Object
  extended by org.eclipse.core.runtime.PlatformObject
      extended by org.eclipse.rse.internal.services.terminals.BaseShellDecorator
          extended by org.eclipse.rse.internal.services.terminals.TerminalShellDecorator
All Implemented Interfaces:
IAdaptable, IBaseShell, ITerminalShell

public abstract class TerminalShellDecorator
extends BaseShellDecorator
implements ITerminalShell

Abstract base class for clients to decorate an ITerminalShell instance they have with additional functionality. Typically, such additional functionality can be provided either by additional knowledge about the underlying system or process, or by analyzing the input and output streams for some well-known data that gives such additional knowledge.

EXPERIMENTAL. This class or interface has been added as part of a work in progress. There is no guarantee that this API will work or that it will remain the same. Please do not use this API without consulting with the Target Management team.

Since:
org.eclipse.rse.services 3.0

Field Summary
 
Fields inherited from class org.eclipse.rse.internal.services.terminals.BaseShellDecorator
fDelegate
 
Constructor Summary
TerminalShellDecorator(ITerminalShell delegate)
           
 
Method Summary
 String getDefaultEncoding()
          Return the default encoding that the terminal service had specified when creating this terminal connection, or that's known from the remote side to be expected.
protected  ITerminalShell getDelegate()
           
 String getPtyType()
          Get the Terminal Type that's expected on this connection.
 boolean isLocalEcho()
          Test if local echo is needed on this terminal connection.
 void setTerminalSize(int newWidth, int newHeight)
          Notify the remote site that the size of the terminal has changed.
 
Methods inherited from class org.eclipse.rse.internal.services.terminals.BaseShellDecorator
exit, exitValue, getAdapter, getErrorStream, getInputStream, getOutputStream, isActive, waitFor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.rse.internal.services.terminals.IBaseShell
exit, exitValue, getErrorStream, getInputStream, getOutputStream, isActive, waitFor
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 

Constructor Detail

TerminalShellDecorator

public TerminalShellDecorator(ITerminalShell delegate)
Method Detail

getDelegate

protected ITerminalShell getDelegate()

getPtyType

public String getPtyType()
Description copied from interface: ITerminalShell
Get the Terminal Type that's expected on this connection. The terminal type may be specified by the client when constructing a concrete instance of an ITerminalShell, or a remote side may actually expect a particular terminal type to be present.

Specified by:
getPtyType in interface ITerminalShell
Returns:
the terminal type expected by the remote side to properly render the Streams associated with this Terminal, or null if the ITerminalShell does not know what kind of Terminal Type is expected.

getDefaultEncoding

public String getDefaultEncoding()
Description copied from interface: ITerminalShell
Return the default encoding that the terminal service had specified when creating this terminal connection, or that's known from the remote side to be expected. This is not necessarily known or accurate, and may be null. TODO I'm not actually sure if this method is a good idea. Perhaps we should use the IAdaptable mechanism for dealing with encodings, since our shells basically deal with binary data only.

Specified by:
getDefaultEncoding in interface ITerminalShell
Returns:
the specified default encoding, or null if unknown.

isLocalEcho

public boolean isLocalEcho()
Description copied from interface: ITerminalShell
Test if local echo is needed on this terminal connection. Clients are expected to return false if in doubt.

Specified by:
isLocalEcho in interface ITerminalShell
Returns:
true if a local echo is needed.

setTerminalSize

public void setTerminalSize(int newWidth,
                            int newHeight)
Description copied from interface: ITerminalShell
Notify the remote site that the size of the terminal has changed. There is no guarantee that the remote side is actually capable of changing the Terminal size.

Specified by:
setTerminalSize in interface ITerminalShell

RSE
Release 3.0

Copyright (c) IBM Corporation and others 2000, 2008. All Rights Reserved.