blob: 8d348b657df9835293308922e483407155d54751 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.1) on Tue Jun 15 20:48:08 PDT 2021 -->
<title>AbstractRSAContainer (Eclipse Communication Framework (ECF) 3.14.22 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="dc.created" content="2021-06-15">
<meta name="description" content="declaration: package: org.eclipse.ecf.remoteservice, class: AbstractRSAContainer">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":6,"i5":10,"i6":10,"i7":10,"i8":10,"i9":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractRSAContainer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.ecf.remoteservice</a></div>
<h1 title="Class AbstractRSAContainer" class="title">Class AbstractRSAContainer</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a>
<div class="inheritance"><a href="../core/AbstractContainer.html" title="class in org.eclipse.ecf.core">org.eclipse.ecf.core.AbstractContainer</a>
<div class="inheritance">org.eclipse.ecf.remoteservice.AbstractRSAContainer</div>
</div>
</div>
<section class="description">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>org.eclipse.core.runtime.IAdaptable</code>, <code><a href="../core/IContainer.html" title="interface in org.eclipse.ecf.core">IContainer</a></code>, <code><a href="../core/identity/IIdentifiable.html" title="interface in org.eclipse.ecf.core.identity">IIdentifiable</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">AbstractRSAContainer</span>
extends <a href="../core/AbstractContainer.html" title="class in org.eclipse.ecf.core">AbstractContainer</a></pre>
<div class="block">Abstract container that is intended for use by RSA distribution providers. Subclasses may extend
and override to create custom container adapter types. By default, an instance of RSARemoteServiceContainerAdapter
is created by this class upon construction.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>8.9</dd>
</dl>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.ecf.core.identity.ID)">AbstractRSAContainer</a></span>&#8203;(<a href="../core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t3" class="tableTab" onclick="show(4);">Abstract Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#connect(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.security.IConnectContext)">connect</a></span>&#8203;(<a href="../core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;targetID,
<a href="../core/security/IConnectContext.html" title="interface in org.eclipse.ecf.core.security">IConnectContext</a>&nbsp;connectContext)</code></th>
<td class="colLast">
<div class="block">Connect to a target remote process or process group.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>protected <a href="RSARemoteServiceContainerAdapter.html" title="class in org.eclipse.ecf.remoteservice">RSARemoteServiceContainerAdapter</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createContainerAdapter()">createContainerAdapter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#disconnect()">disconnect</a></span>()</code></th>
<td class="colLast">
<div class="block">Disconnect.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dispose()">dispose</a></span>()</code></th>
<td class="colLast">
<div class="block">Dispose this IContainer instance.</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>protected abstract <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#exportRemoteService(org.eclipse.ecf.remoteservice.RSARemoteServiceContainerAdapter.RSARemoteServiceRegistration)">exportRemoteService</a></span>&#8203;(<a href="RSARemoteServiceContainerAdapter.RSARemoteServiceRegistration.html" title="class in org.eclipse.ecf.remoteservice">RSARemoteServiceContainerAdapter.RSARemoteServiceRegistration</a>&nbsp;registration)</code></th>
<td class="colLast">
<div class="block">Export an endpoint specified by the RSARemoteServiceRegistration.</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAdapter(java.lang.Class)">getAdapter</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&nbsp;serviceType)</code></th>
<td class="colLast">
<div class="block">This specialization of IAdaptable.getAdapter() returns additional
services supported by this container.</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConnectedID()">getConnectedID</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the target ID that this container instance has connected to.</div>
</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code><a href="../core/identity/Namespace.html" title="class in org.eclipse.ecf.core.identity">Namespace</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConnectNamespace()">getConnectNamespace</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the Namespace for creating a targetID suitable for use as the first
parameter in subsequent calls to <a href="../core/IContainer.html#connect(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.security.IConnectContext)"><code>IContainer.connect(ID, IConnectContext)</code></a>.</div>
</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code><a href="../core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getID()">getID</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the ID for this 'identifiable' object.</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unexportRemoteService(org.eclipse.ecf.remoteservice.RSARemoteServiceContainerAdapter.RSARemoteServiceRegistration)">unexportRemoteService</a></span>&#8203;(<a href="RSARemoteServiceContainerAdapter.RSARemoteServiceRegistration.html" title="class in org.eclipse.ecf.remoteservice">RSARemoteServiceContainerAdapter.RSARemoteServiceRegistration</a>&nbsp;registration)</code></th>
<td class="colLast">
<div class="block">Unregister the endpoint for the given RSARemoteServiceRegistration.</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;org.eclipse.ecf.core.<a href="../core/AbstractContainer.html" title="class in org.eclipse.ecf.core">AbstractContainer</a></h3>
<a id="methods.inherited.from.class.org.eclipse.ecf.core.AbstractContainer">
<!-- -->
</a><code><a href="../core/AbstractContainer.html#addListener(org.eclipse.ecf.core.IContainerListener)">addListener</a>, <a href="../core/AbstractContainer.html#fireContainerEvent(org.eclipse.ecf.core.events.IContainerEvent)">fireContainerEvent</a>, <a href="../core/AbstractContainer.html#getPasswordFromConnectContext(org.eclipse.ecf.core.security.IConnectContext)">getPasswordFromConnectContext</a>, <a href="../core/AbstractContainer.html#removeListener(org.eclipse.ecf.core.IContainerListener)">removeListener</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(org.eclipse.ecf.core.identity.ID)">AbstractRSAContainer</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">AbstractRSAContainer</span>&#8203;(<span class="arguments"><a href="../core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;id)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="exportRemoteService(org.eclipse.ecf.remoteservice.RSARemoteServiceContainerAdapter.RSARemoteServiceRegistration)">exportRemoteService</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</span>&nbsp;<span class="memberName">exportRemoteService</span>&#8203;(<span class="arguments"><a href="RSARemoteServiceContainerAdapter.RSARemoteServiceRegistration.html" title="class in org.eclipse.ecf.remoteservice">RSARemoteServiceContainerAdapter.RSARemoteServiceRegistration</a>&nbsp;registration)</span></div>
<div class="block">Export an endpoint specified by the RSARemoteServiceRegistration. Subclasses must
implement to respond to a remote service export. This method will be called by
the ECF RemoteServiceAdmin.exportService when this container should handle the export.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>registration</code> - the RSARemoteServiceRegistration that is being registered. Will not
be <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map of extra properties to add to the RSA EndpointDescription.
Any properties in the returned map will override or add to the endpoint description. For example,
if one of the properties in the returned Map is a String value for the key 'ecf.endpoint.id',
then the value from the map will override this property in the endpoint description. The result
may be <code>null</code>, in which case no properties will be overridden or added.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="unexportRemoteService(org.eclipse.ecf.remoteservice.RSARemoteServiceContainerAdapter.RSARemoteServiceRegistration)">unexportRemoteService</a></h3>
<div class="memberSignature"><span class="modifiers">protected abstract</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">unexportRemoteService</span>&#8203;(<span class="arguments"><a href="RSARemoteServiceContainerAdapter.RSARemoteServiceRegistration.html" title="class in org.eclipse.ecf.remoteservice">RSARemoteServiceContainerAdapter.RSARemoteServiceRegistration</a>&nbsp;registration)</span></div>
<div class="block">Unregister the endpoint for the given RSARemoteServiceRegistration. Subclasses must implement
to respond to a remote service export. This method will be called when a remote service
is unregistered, or unexported.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>registration</code> - the registration identifying the remote service to unregister. Will not
be <code>null</code>.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="createContainerAdapter()">createContainerAdapter</a></h3>
<div class="memberSignature"><span class="modifiers">protected</span>&nbsp;<span class="returnType"><a href="RSARemoteServiceContainerAdapter.html" title="class in org.eclipse.ecf.remoteservice">RSARemoteServiceContainerAdapter</a></span>&nbsp;<span class="memberName">createContainerAdapter</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="connect(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.security.IConnectContext)">connect</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">connect</span>&#8203;(<span class="arguments"><a href="../core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;targetID,
<a href="../core/security/IConnectContext.html" title="interface in org.eclipse.ecf.core.security">IConnectContext</a>&nbsp;connectContext)</span>
throws <span class="exceptions"><a href="../core/ContainerConnectException.html" title="class in org.eclipse.ecf.core">ContainerConnectException</a></span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../core/IContainer.html#connect(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.security.IConnectContext)">IContainer</a></code></span></div>
<div class="block">Connect to a target remote process or process group. The target
identified by the first parameter (targetID) is connected the
implementation class. If authentication information is required, the
required information is given via via the second parameter
(connectContext).
Callers note that depending upon the provider implementation this method
may block. It is suggested that callers use a separate thread to call
this method.
This method provides an implementation independent way for container
implementations to connect, authenticate, and communicate with a remote
service or group of services. Providers are responsible for implementing
this operation in a way appropriate to the given remote service (or
group) via expected protocol.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>targetID</code> - the ID of the remote server or group to connect to. See
<a href="../core/IContainer.html#getConnectNamespace()"><code>IContainer.getConnectNamespace()</code></a> for a explanation of the
constraints upon this parameter.</dd>
<dd><code>connectContext</code> - any required context to allow this container to authenticate.
May be <code>null</code> if underlying provider does not
have any authentication requirements for connection.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../core/ContainerConnectException.html" title="class in org.eclipse.ecf.core">ContainerConnectException</a></code> - thrown if communication cannot be established with remote
service. Causes can include network connection failure,
authentication failure, server error, or if container is
already connected.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getConnectedID()">getConnectedID</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a></span>&nbsp;<span class="memberName">getConnectedID</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../core/IContainer.html#getConnectedID()">IContainer</a></code></span></div>
<div class="block">Get the target ID that this container instance has connected to. Returns
null if not connected.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ID of the target we are connected to. Returns <code>null</code>
if container not connected.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getConnectNamespace()">getConnectNamespace</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../core/identity/Namespace.html" title="class in org.eclipse.ecf.core.identity">Namespace</a></span>&nbsp;<span class="memberName">getConnectNamespace</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../core/IContainer.html#getConnectNamespace()">IContainer</a></code></span></div>
<div class="block">Get the Namespace for creating a targetID suitable for use as the first
parameter in subsequent calls to <a href="../core/IContainer.html#connect(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.security.IConnectContext)"><code>IContainer.connect(ID, IConnectContext)</code></a>.
If this method returns <code>null</code>, then it means that
<code>null</code> is expected as a valid parameter in subsequent calls
to <a href="../core/IContainer.html#connect(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.security.IConnectContext)"><code>IContainer.connect(ID, IConnectContext)</code></a>. If this method returns a non-<code>null</code>
Namespace, then the <code>targetID</code> parameter in
<a href="../core/IContainer.html#connect(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.security.IConnectContext)"><code>IContainer.connect(ID, IConnectContext)</code></a> must be non-<code>null</code>
instance created of the returned Namespace.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Namespace the namespace associated with subsequent calls to
<a href="../core/IContainer.html#connect(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.security.IConnectContext)"><code>IContainer.connect(ID, IConnectContext)</code></a>. If <code>null</code>,
then the <code>targetID</code> instances passed to
<a href="../core/IContainer.html#connect(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.security.IConnectContext)"><code>IContainer.connect(ID, IConnectContext)</code></a> may be <code>null</code>.
If not <code>null</code>, then <code>targetID</code>
instances passed to <a href="../core/IContainer.html#connect(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.security.IConnectContext)"><code>IContainer.connect(ID, IConnectContext)</code></a> must be
instances of the returned Namespace.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="disconnect()">disconnect</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">disconnect</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../core/IContainer.html#disconnect()">IContainer</a></code></span></div>
<div class="block">Disconnect. This operation will disconnect the local container instance
from any previously joined target or group. Subsequent calls to
getConnectedID() will return <code>null</code>.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getID()">getID</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../core/identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a></span>&nbsp;<span class="memberName">getID</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../core/identity/IIdentifiable.html#getID()">IIdentifiable</a></code></span></div>
<div class="block">Return the ID for this 'identifiable' object. The returned ID should be
unique within its namespace. May return <code>null</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the ID for this identifiable object. May return <code>null</code>.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="dispose()">dispose</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">dispose</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../core/IContainer.html#dispose()">IContainer</a></code></span></div>
<div class="block">Dispose this IContainer instance. The container instance will be made
inactive after the completion of this method and will be unavailable for
subsequent usage.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../core/IContainer.html#dispose()">dispose</a></code>&nbsp;in interface&nbsp;<code><a href="../core/IContainer.html" title="interface in org.eclipse.ecf.core">IContainer</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../core/AbstractContainer.html#dispose()">dispose</a></code>&nbsp;in class&nbsp;<code><a href="../core/AbstractContainer.html" title="class in org.eclipse.ecf.core">AbstractContainer</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getAdapter(java.lang.Class)">getAdapter</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></span>&nbsp;<span class="memberName">getAdapter</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&nbsp;serviceType)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../core/IContainer.html#getAdapter(java.lang.Class)">IContainer</a></code></span></div>
<div class="block">This specialization of IAdaptable.getAdapter() returns additional
services supported by this container. A container that supports
additional services over and above the methods on <code>IContainer</code>
should return them using this method. It is recommended that clients use
this method rather than instanceof checks and downcasts to find out about
the capabilities of a specific container.
<p>
Typically, after obtaining an IContainer, a client would use this method
as a means to obtain a more meaningful interface to the container. This
interface may or may not extend IContainer. For example, a client could
use the following code to obtain an instance of ISharedObjectContainer:
</p>
<pre>
IContainer newContainer = ContainerFactory.createContainer(type);
ISharedObjectContainer soContainer = (ISharedObjectContainer) newContainer
.getAdapter(ISharedObjectContainer.class);
if (soContainer == null)
throw new ContainerCreateException(message);
</pre>
<p>
Implementations of this method should delegate to
<code>IAdapterManager.loadAdapter()</code> if the service
cannot be provided directly to ensure extensibility by third-party
plug-ins.
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getAdapter</code>&nbsp;in interface&nbsp;<code>org.eclipse.core.runtime.IAdaptable</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../core/IContainer.html#getAdapter(java.lang.Class)">getAdapter</a></code>&nbsp;in interface&nbsp;<code><a href="../core/IContainer.html" title="interface in org.eclipse.ecf.core">IContainer</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../core/AbstractContainer.html#getAdapter(java.lang.Class)">getAdapter</a></code>&nbsp;in class&nbsp;<code><a href="../core/AbstractContainer.html" title="class in org.eclipse.ecf.core">AbstractContainer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceType</code> - the service type to look up</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the service instance castable to the given class, or
<code>null</code> if this container does not support the given
service</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractRSAContainer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2020 <a href="https://www.eclipse.org/">Eclipse Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>