blob: 5f2ac6a9d875420d3115040bbdfc03566806de3f [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.1) on Tue Jun 15 21:55:05 PDT 2021 -->
<title>IRemoteServiceClientContainerAdapter (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.client, interface: IRemoteServiceClientContainerAdapter">
<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":6,"i1":6,"i2":6,"i3":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/IRemoteServiceClientContainerAdapter.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>Constr&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>Constr&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.client</a></div>
<h1 title="Interface IRemoteServiceClientContainerAdapter" class="title">Interface IRemoteServiceClientContainerAdapter</h1>
</div>
<div class="contentContainer">
<section class="description">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code>org.eclipse.core.runtime.IAdaptable</code>, <code><a href="../IRemoteServiceConsumer.html" title="interface in org.eclipse.ecf.remoteservice">IRemoteServiceConsumer</a></code>, <code><a href="../IRemoteServiceContainerAdapter.html" title="interface in org.eclipse.ecf.remoteservice">IRemoteServiceContainerAdapter</a></code>, <code><a href="../IRemoteServiceHost.html" title="interface in org.eclipse.ecf.remoteservice">IRemoteServiceHost</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="AbstractClientContainer.html" title="class in org.eclipse.ecf.remoteservice.client">AbstractClientContainer</a></code>, <code><a href="../rest/client/AbstractRestClientContainer.html" title="class in org.eclipse.ecf.remoteservice.rest.client">AbstractRestClientContainer</a></code>, <code><a href="AbstractRSAClientContainer.html" title="class in org.eclipse.ecf.remoteservice.client">AbstractRSAClientContainer</a></code>, <code><a href="../rest/client/RestClientContainer.html" title="class in org.eclipse.ecf.remoteservice.rest.client">RestClientContainer</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">IRemoteServiceClientContainerAdapter</span>
extends <a href="../IRemoteServiceContainerAdapter.html" title="interface in org.eclipse.ecf.remoteservice">IRemoteServiceContainerAdapter</a></pre>
<div class="block">Remote service client container adapter. This container adapter provides remote
service clients the ability to register callables. At runtime when actual remote
calls are attempted, the associated callable is looked up in the <a href="RemoteServiceClientRegistry.html" title="class in org.eclipse.ecf.remoteservice.client"><code>RemoteServiceClientRegistry</code></a>.
If present, the remote call can be completed, if not present in the registry, the
call is not completed.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.0</dd>
</dl>
</section>
<section class="summary">
<ul class="blockList">
<!-- ========== 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></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><a href="../IRemoteServiceRegistration.html" title="interface in org.eclipse.ecf.remoteservice">IRemoteServiceRegistration</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerCallables(java.lang.String%5B%5D,org.eclipse.ecf.remoteservice.client.IRemoteCallable%5B%5D%5B%5D,java.util.Dictionary)">registerCallables</a></span>&#8203;(<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>[]&nbsp;serviceInterfaceNames,
<a href="IRemoteCallable.html" title="interface in org.eclipse.ecf.remoteservice.client">IRemoteCallable</a>[][]&nbsp;remoteCallables,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Dictionary.html?is-external=true" title="class or interface in java.util" class="externalLink">Dictionary</a>&nbsp;properties)</code></th>
<td class="colLast">
<div class="block">
Register remoteCallables for given serviceInterfaceNames.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../IRemoteServiceRegistration.html" title="interface in org.eclipse.ecf.remoteservice">IRemoteServiceRegistration</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerCallables(org.eclipse.ecf.remoteservice.client.IRemoteCallable%5B%5D,java.util.Dictionary)">registerCallables</a></span>&#8203;(<a href="IRemoteCallable.html" title="interface in org.eclipse.ecf.remoteservice.client">IRemoteCallable</a>[]&nbsp;remoteCallables,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Dictionary.html?is-external=true" title="class or interface in java.util" class="externalLink">Dictionary</a>&nbsp;properties)</code></th>
<td class="colLast">
<div class="block">Register remoteCallables for remote service client.</div>
</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="#setParameterSerializer(org.eclipse.ecf.remoteservice.client.IRemoteCallParameterSerializer)">setParameterSerializer</a></span>&#8203;(<a href="IRemoteCallParameterSerializer.html" title="interface in org.eclipse.ecf.remoteservice.client">IRemoteCallParameterSerializer</a>&nbsp;serializer)</code></th>
<td class="colLast">
<div class="block">Set the remote call parameter serializer.</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="#setResponseDeserializer(org.eclipse.ecf.remoteservice.client.IRemoteResponseDeserializer)">setResponseDeserializer</a></span>&#8203;(<a href="IRemoteResponseDeserializer.html" title="interface in org.eclipse.ecf.remoteservice.client">IRemoteResponseDeserializer</a>&nbsp;deserializer)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.core.runtime.IAdaptable</h3>
<a id="methods.inherited.from.class.org.eclipse.core.runtime.IAdaptable">
<!-- -->
</a><code>getAdapter</code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.ecf.remoteservice.<a href="../IRemoteServiceContainerAdapter.html" title="interface in org.eclipse.ecf.remoteservice">IRemoteServiceContainerAdapter</a></h3>
<a id="methods.inherited.from.class.org.eclipse.ecf.remoteservice.IRemoteServiceContainerAdapter">
<!-- -->
</a><code><a href="../IRemoteServiceContainerAdapter.html#addRemoteServiceListener(org.eclipse.ecf.remoteservice.IRemoteServiceListener)">addRemoteServiceListener</a>, <a href="../IRemoteServiceContainerAdapter.html#asyncGetRemoteServiceReferences(org.eclipse.ecf.core.identity.ID%5B%5D,java.lang.String,java.lang.String)">asyncGetRemoteServiceReferences</a>, <a href="../IRemoteServiceContainerAdapter.html#asyncGetRemoteServiceReferences(org.eclipse.ecf.core.identity.ID,java.lang.String,java.lang.String)">asyncGetRemoteServiceReferences</a>, <a href="../IRemoteServiceContainerAdapter.html#asyncGetRemoteServiceReferences(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.identity.ID%5B%5D,java.lang.String,java.lang.String)">asyncGetRemoteServiceReferences</a>, <a href="../IRemoteServiceContainerAdapter.html#createRemoteFilter(java.lang.String)">createRemoteFilter</a>, <a href="../IRemoteServiceContainerAdapter.html#getAllRemoteServiceReferences(java.lang.String,java.lang.String)">getAllRemoteServiceReferences</a>, <a href="../IRemoteServiceContainerAdapter.html#getRemoteService(org.eclipse.ecf.remoteservice.IRemoteServiceReference)">getRemoteService</a>, <a href="../IRemoteServiceContainerAdapter.html#getRemoteServiceID(org.eclipse.ecf.core.identity.ID,long)">getRemoteServiceID</a>, <a href="../IRemoteServiceContainerAdapter.html#getRemoteServiceNamespace()">getRemoteServiceNamespace</a>, <a href="../IRemoteServiceContainerAdapter.html#getRemoteServiceReference(org.eclipse.ecf.remoteservice.IRemoteServiceID)">getRemoteServiceReference</a>, <a href="../IRemoteServiceContainerAdapter.html#getRemoteServiceReferences(org.eclipse.ecf.core.identity.ID%5B%5D,java.lang.String,java.lang.String)">getRemoteServiceReferences</a>, <a href="../IRemoteServiceContainerAdapter.html#getRemoteServiceReferences(org.eclipse.ecf.core.identity.ID,java.lang.String,java.lang.String)">getRemoteServiceReferences</a>, <a href="../IRemoteServiceContainerAdapter.html#getRemoteServiceReferences(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.identity.ID%5B%5D,java.lang.String,java.lang.String)">getRemoteServiceReferences</a>, <a href="../IRemoteServiceContainerAdapter.html#registerRemoteService(java.lang.String%5B%5D,java.lang.Object,java.util.Dictionary)">registerRemoteService</a>, <a href="../IRemoteServiceContainerAdapter.html#removeRemoteServiceListener(org.eclipse.ecf.remoteservice.IRemoteServiceListener)">removeRemoteServiceListener</a>, <a href="../IRemoteServiceContainerAdapter.html#setConnectContextForAuthentication(org.eclipse.ecf.core.security.IConnectContext)">setConnectContextForAuthentication</a>, <a href="../IRemoteServiceContainerAdapter.html#setRemoteServiceCallPolicy(org.eclipse.ecf.remoteservice.IRemoteServiceCallPolicy)">setRemoteServiceCallPolicy</a>, <a href="../IRemoteServiceContainerAdapter.html#ungetRemoteService(org.eclipse.ecf.remoteservice.IRemoteServiceReference)">ungetRemoteService</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ============ 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="registerCallables(java.lang.String[],org.eclipse.ecf.remoteservice.client.IRemoteCallable[][],java.util.Dictionary)">registerCallables</a></h3>
<div class="memberSignature"><span class="returnType"><a href="../IRemoteServiceRegistration.html" title="interface in org.eclipse.ecf.remoteservice">IRemoteServiceRegistration</a></span>&nbsp;<span class="memberName">registerCallables</span>&#8203;(<span class="arguments"><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>[]&nbsp;serviceInterfaceNames,
<a href="IRemoteCallable.html" title="interface in org.eclipse.ecf.remoteservice.client">IRemoteCallable</a>[][]&nbsp;remoteCallables,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Dictionary.html?is-external=true" title="class or interface in java.util" class="externalLink">Dictionary</a>&nbsp;properties)</span></div>
<div class="block"><p>
Register remoteCallables for given serviceInterfaceNames. This method allows providers to register <a href="IRemoteCallable.html" title="interface in org.eclipse.ecf.remoteservice.client"><code>IRemoteCallable</code></a>
instances and associate an array of IRemoteCallables with each given serviceInterfaceName, so that subsequent lookup operations result in
appropriate remote service registrations. The IRemoteCallable instances should correspond to <b>methods</b> within the
particular service interface class.</p>
<p>
Note that the number of serviceInterfaceNames (i.e. the length of the given String[]) <b>must</b> be equal to
the number of rows of the remoteCallable two-dimensional array. </p>
<p>For example, suppose we have a service interface "org.eclipse.ecf.IFoo":
<pre>
public interface IFoo {
public String getFoo();
}
</pre>
We can define for this service inteface the following two dimensional array of callables:
<pre>
IRemoteCallable[][] callables = new IRemoteCallable[] { new RemoteCallable("foo","foo/bar/resourcePath",null,requestType) }};
</pre>
and then register with this method:
<pre>
IRemoteServiceRegistration reg = this.registerRemoteCallable(new String[] { "org.eclipse.ecf.IFoo" }, callables, null);
</pre></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceInterfaceNames</code> - service interface names</dd>
<dd><code>remoteCallables</code> - the IRemoteCallables to register. Each IRemoteCallable represents a specific method to resourcePath mapping.
Must not be <code>null</code>.</dd>
<dd><code>properties</code> - any service properties to associate with the given registration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>IRemoteServiceRegistration to use to unregister the remote service. Will not be <code>null</code>.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="registerCallables(org.eclipse.ecf.remoteservice.client.IRemoteCallable[],java.util.Dictionary)">registerCallables</a></h3>
<div class="memberSignature"><span class="returnType"><a href="../IRemoteServiceRegistration.html" title="interface in org.eclipse.ecf.remoteservice">IRemoteServiceRegistration</a></span>&nbsp;<span class="memberName">registerCallables</span>&#8203;(<span class="arguments"><a href="IRemoteCallable.html" title="interface in org.eclipse.ecf.remoteservice.client">IRemoteCallable</a>[]&nbsp;remoteCallables,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Dictionary.html?is-external=true" title="class or interface in java.util" class="externalLink">Dictionary</a>&nbsp;properties)</span></div>
<div class="block">Register remoteCallables for remote service client. This method allows providers to register <a href="IRemoteCallable.html" title="interface in org.eclipse.ecf.remoteservice.client"><code>IRemoteCallable</code></a>
instances, so that subsequent lookup operations result in appropriate remote service registrations.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>remoteCallables</code> - the IRemoteCallables to register. Each IRemoteCallable represents a specific method to resourcePath mapping.
Must not be <code>null</code>.</dd>
<dd><code>properties</code> - any service properties to associate with the given registration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>IRemoteServiceRegistration to use to unregister the remote service. Will not be <code>null</code>.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setParameterSerializer(org.eclipse.ecf.remoteservice.client.IRemoteCallParameterSerializer)">setParameterSerializer</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">setParameterSerializer</span>&#8203;(<span class="arguments"><a href="IRemoteCallParameterSerializer.html" title="interface in org.eclipse.ecf.remoteservice.client">IRemoteCallParameterSerializer</a>&nbsp;serializer)</span></div>
<div class="block">Set the remote call parameter serializer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serializer</code> - the remote call parameter serializer to set for this container. May be <code>null</code>.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setResponseDeserializer(org.eclipse.ecf.remoteservice.client.IRemoteResponseDeserializer)">setResponseDeserializer</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">setResponseDeserializer</span>&#8203;(<span class="arguments"><a href="IRemoteResponseDeserializer.html" title="interface in org.eclipse.ecf.remoteservice.client">IRemoteResponseDeserializer</a>&nbsp;deserializer)</span></div>
</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/IRemoteServiceClientContainerAdapter.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>Constr&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>Constr&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>