diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java
index 6e21ce8011d..3a389b75094 100644
--- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java
+++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java
@@ -14,17 +14,29 @@ package org.eclipse.tm.internal.terminal.provisional.api;
import java.io.OutputStream;
import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.tm.internal.terminal.control.ITerminalViewControl;
import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl;
/**
- * Manage a single connection. Implementations of this class are contributed via
- * org.eclipse.tm.terminal.terminalConnectors
extension point.
- * This class is a handle to a {@link ITerminalConnector connector} that comes
- * from an extension. It maintains {@link TerminalConnectorImpl} to the
- * connector to allow lazy initialization of the real
- * {@link ITerminalConnector connector} that comes from an extension.
+ * A contributed connection type to manage a single connection.
*
+ * Implementations of this class are contributed through the
+ * org.eclipse.tm.terminal.terminalConnectors
extension point.
+ * This class gives access to the static markup of a terminal connector
+ * extension as well as providing the lifecycle management for the dynamically
+ * loaded {@link TerminalConnectorImpl} instance, which performs the actual
+ * communications. This pattern allows for lazy initialization, bundle
+ * activation and class loading of the actual {@link TerminalConnectorImpl}
+ * instance.
+ *
+ * Clients can get terminal connector instances from the
+ * {@link TerminalConnectorExtension} class, or from
+ * {@link ITerminalViewControl#getTerminalConnector()} when running inside an
+ * active terminal widget.
+ *
+ * @noimplement This interface is not intended to be implemented by clients.
+ *
* @author Michael Scharf
*
* EXPERIMENTAL. This class or interface has been
@@ -37,11 +49,13 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect
public interface ITerminalConnector extends IAdaptable {
/**
* @return an ID of this connector. The id from the plugin.xml.
+ * @since org.eclipse.tm.terminal 2.0
*/
String getId();
/**
* @return null
the name (as specified in the plugin.xml)
+ * @since org.eclipse.tm.terminal 2.0
*/
String getName();
@@ -49,6 +63,7 @@ public interface ITerminalConnector extends IAdaptable {
* @return true if the {@link TerminalConnectorImpl} has been initialized.
* If there was an initialization error, {@link #getInitializationErrorMessage()}
* returns the error message.
+ * @since org.eclipse.tm.terminal 2.0
*/
boolean isInitialized();
@@ -57,6 +72,7 @@ public interface ITerminalConnector extends IAdaptable {
* If the connector was initialized successfully, null
is
* returned. Otherwise an error message describing the problem is returned.
* @return null
or a localized error message.
+ * @since org.eclipse.tm.terminal 2.0
*/
String getInitializationErrorMessage();
@@ -88,6 +104,7 @@ public interface ITerminalConnector extends IAdaptable {
* @return the terminal to remote stream (bytes written to this stream will
* be sent to the remote site). For the stream in the other direction (remote to
* terminal see {@link ITerminalControl#getRemoteToTerminalOutputStream()}
+ * @since org.eclipse.tm.terminal 2.0
*/
OutputStream getTerminalToRemoteStream();