blob: 2b6fccf421cda0a3d0cee0dfcdc9b6d33bc4c160 [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>IRemoteServiceContainerInstantiator (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.core.provider, interface: IRemoteServiceContainerInstantiator">
<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/IRemoteServiceContainerInstantiator.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.core.provider</a></div>
<h1 title="Interface IRemoteServiceContainerInstantiator" class="title">Interface IRemoteServiceContainerInstantiator</h1>
</div>
<div class="contentContainer">
<section class="description">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="BaseRemoteServiceContainerInstantiator.html" title="class in org.eclipse.ecf.core.provider">BaseRemoteServiceContainerInstantiator</a></code>, <code><a href="../../provider/generic/GenericContainerInstantiator.html" title="class in org.eclipse.ecf.provider.generic">GenericContainerInstantiator</a></code>, <code><a href="../../remoteservice/provider/PeerRemoteServiceContainerInstantiator.html" title="class in org.eclipse.ecf.remoteservice.provider">PeerRemoteServiceContainerInstantiator</a></code>, <code><a href="../../remoteservice/provider/RemoteServiceContainerInstantiator.html" title="class in org.eclipse.ecf.remoteservice.provider">RemoteServiceContainerInstantiator</a></code>, <code><a href="../../remoteservice/rest/client/RestClientContainerInstantiator.html" title="class in org.eclipse.ecf.remoteservice.rest.client">RestClientContainerInstantiator</a></code>, <code><a href="../../remoteservice/servlet/ServletServerContainerInstantiator.html" title="class in org.eclipse.ecf.remoteservice.servlet">ServletServerContainerInstantiator</a></code>, <code><a href="../../provider/generic/SSLGenericContainerInstantiator.html" title="class in org.eclipse.ecf.provider.generic">SSLGenericContainerInstantiator</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">IRemoteServiceContainerInstantiator</span></pre>
<div class="block">Interface that must be implemented by ECF remote service provider implementations.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.1</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="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>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getImportedConfigs(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.String%5B%5D)">getImportedConfigs</a></span>&#8203;(<a href="../ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description,
<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;exporterSupportedConfigs)</code></th>
<td class="colLast">
<div class="block">Get the imported config types for a given ContainerTypeDescription for the given exporter supported config types.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><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></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPropertiesForImportedConfigs(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.String%5B%5D,java.util.Dictionary)">getPropertiesForImportedConfigs</a></span>&#8203;(<a href="../ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description,
<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;importedConfigs,
<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;exportedProperties)</code></th>
<td class="colLast">
<div class="block">Get the properties associated with the given description, with the given importedConfigTypes, via the given exportedProperties.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><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>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSupportedConfigs(org.eclipse.ecf.core.ContainerTypeDescription)">getSupportedConfigs</a></span>&#8203;(<a href="../ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description)</code></th>
<td class="colLast">
<div class="block">Get supported configs for the given ContainerTypeDescription.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><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>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSupportedIntents(org.eclipse.ecf.core.ContainerTypeDescription)">getSupportedIntents</a></span>&#8203;(<a href="../ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description)</code></th>
<td class="colLast">
<div class="block">Get supported intents for the given ContainerTypeDescription.</div>
</td>
</tr>
</tbody>
</table>
</div>
</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="getSupportedConfigs(org.eclipse.ecf.core.ContainerTypeDescription)">getSupportedConfigs</a></h3>
<div class="memberSignature"><span class="returnType"><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>[]</span>&nbsp;<span class="memberName">getSupportedConfigs</span>&#8203;(<span class="arguments"><a href="../ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description)</span></div>
<div class="block">Get supported configs for the given ContainerTypeDescription. This method
will be called to determine what the OSGi remote service supported config types are for the given description during
the search for the service exporter provider/containers upon remote service registration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>description</code> - the ContainerTypeDescription to return the supported configs for.
Will not be <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String[] the supported config types. <code>null</code> may be returned if the
given description does not support any config types.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSupportedIntents(org.eclipse.ecf.core.ContainerTypeDescription)">getSupportedIntents</a></h3>
<div class="memberSignature"><span class="returnType"><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>[]</span>&nbsp;<span class="memberName">getSupportedIntents</span>&#8203;(<span class="arguments"><a href="../ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description)</span></div>
<div class="block">Get supported intents for the given ContainerTypeDescription. This method
will be called to determine what the OSGi remote service supported intents are for the given description during
the search for the service exporter provider/containers upon remote service registration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>description</code> - the ContainerTypeDescription to return the supported intents for.
Will not be <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String[] the supported intents. <code>null</code> may be returned if the
given description does not support any intents.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getImportedConfigs(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.String[])">getImportedConfigs</a></h3>
<div class="memberSignature"><span class="returnType"><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>[]</span>&nbsp;<span class="memberName">getImportedConfigs</span>&#8203;(<span class="arguments"><a href="../ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description,
<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;exporterSupportedConfigs)</span></div>
<div class="block"><p>Get the imported config types for a given ContainerTypeDescription for the given exporter supported config types. This
method will be called to determine what the local container imported configs are for the given description and
exporterSupportedConfigTypes. The local provider can decide which (if any) imported config types should be
returned and return them.
<p>
As an example, consider the config types for the ECF generic provider. A generic server has a config type
of 'ecf.generic.server', and the client has 'ecf.generic.server'. If the generic server exports a given
service, the exportersSupportedConfigTypes will be '[ecf.generic.server]'. When this method is called
with the ecf.generic.client description (i.e. the container type description named 'ecf.generic.client'), it
should respond with a non-null, non-empty array...e.g.: [ecf.generic.client]. This indicates that the
ecf.generic.client can serve as an importer for the given exporter config type. All, other descriptions
should return <code>null</code>, to indicate that they cannot import a remote service exported by the given
exporterSupportedConfigTypes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>description</code> - the container type description under consideration.</dd>
<dd><code>exporterSupportedConfigs</code> - the exporter supported config types under consideration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String[] indicating the importer's supported config types. Should be <code>null</code>, unless
one or more of the exporterSupportedConfigTypes is recognized for the given description.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getPropertiesForImportedConfigs(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.String[],java.util.Dictionary)">getPropertiesForImportedConfigs</a></h3>
<div class="memberSignature"><span class="returnType"><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></span>&nbsp;<span class="memberName">getPropertiesForImportedConfigs</span>&#8203;(<span class="arguments"><a href="../ContainerTypeDescription.html" title="class in org.eclipse.ecf.core">ContainerTypeDescription</a>&nbsp;description,
<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;importedConfigs,
<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;exportedProperties)</span></div>
<div class="block">Get the properties associated with the given description, with the given importedConfigTypes, via the given exportedProperties.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>description</code> - the container type description under consideration.</dd>
<dd><code>importedConfigs</code> - the imported config types for the given properties. Will not be <code>null</code>, and
should be the same values as returned from <a href="#getImportedConfigs(org.eclipse.ecf.core.ContainerTypeDescription,java.lang.String%5B%5D)"><code>getImportedConfigs(ContainerTypeDescription, String[])</code></a>.</dd>
<dd><code>exportedProperties</code> - the properties from the exported service. Will not be <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Dictionary that has all of the properties for the importedConfigTypes. May be <code>null</code> if
no properties are associated with the given description, importedConfigTypes, exportedProperties.</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/IRemoteServiceContainerInstantiator.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>