blob: 1e08cf6b85842da95cd286f4448fd249be9980a0 [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>RemoteServiceAdmin (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.osgi.service.remoteserviceadmin, interface: RemoteServiceAdmin">
<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/RemoteServiceAdmin.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.osgi.service.remoteserviceadmin</a></div>
<h1 title="Interface RemoteServiceAdmin" class="title">Interface RemoteServiceAdmin</h1>
</div>
<div class="contentContainer">
<section class="description">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../../../eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.html" title="class in org.eclipse.ecf.osgi.services.remoteserviceadmin">RemoteServiceAdmin</a></code></dd>
</dl>
<hr>
<pre>@ProviderType
public interface <span class="typeNameLabel">RemoteServiceAdmin</span></pre>
<div class="block">A Remote Service Admin manages the import and export of services.
A Distribution Provider can expose a control interface. This interface allows
a Topology Manager to control the export and import of services.
The API allows a Topology Manager to export a service, to import a service,
and find out about the current imports and exports.</div>
</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/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="ExportRegistration.html" title="interface in org.osgi.service.remoteserviceadmin">ExportRegistration</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#exportService(org.osgi.framework.ServiceReference,java.util.Map)">exportService</a></span>&#8203;(<a href="https://docs.osgi.org/javadoc/osgi.core/7.0.0/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework" class="externalLink">ServiceReference</a>&lt;?&gt;&nbsp;reference,
<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;?&gt;&nbsp;properties)</code></th>
<td class="colLast">
<div class="block">Export a service to a given Endpoint.</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/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="ExportReference.html" title="interface in org.osgi.service.remoteserviceadmin">ExportReference</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getExportedServices()">getExportedServices</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the currently active Export References.</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/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="ImportReference.html" title="interface in org.osgi.service.remoteserviceadmin">ImportReference</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getImportedEndpoints()">getImportedEndpoints</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the currently active Import References.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="ImportRegistration.html" title="interface in org.osgi.service.remoteserviceadmin">ImportRegistration</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#importService(org.osgi.service.remoteserviceadmin.EndpointDescription)">importService</a></span>&#8203;(<a href="EndpointDescription.html" title="class in org.osgi.service.remoteserviceadmin">EndpointDescription</a>&nbsp;endpoint)</code></th>
<td class="colLast">
<div class="block">Import a service from an Endpoint.</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="exportService(org.osgi.framework.ServiceReference,java.util.Map)">exportService</a></h3>
<div class="memberSignature"><span class="returnType"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="ExportRegistration.html" title="interface in org.osgi.service.remoteserviceadmin">ExportRegistration</a>&gt;</span>&nbsp;<span class="memberName">exportService</span>&#8203;(<span class="arguments"><a href="https://docs.osgi.org/javadoc/osgi.core/7.0.0/org/osgi/framework/ServiceReference.html?is-external=true" title="class or interface in org.osgi.framework" class="externalLink">ServiceReference</a>&lt;?&gt;&nbsp;reference,
<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;?&gt;&nbsp;properties)</span></div>
<div class="block">Export a service to a given Endpoint. The Remote Service Admin must
create an Endpoint from the given description that can be used by other
Distribution Providers to connect to this Remote Service Admin and use
the exported service.
The property keys of a Service Reference are case insensitive while the
property keys of the specified <code>properties</code> map are case sensitive.
A property key in the specified <code>properties</code> map must therefore
override any case variant property key in the properties of the specified
Service Reference.
<p>
If the caller does not have the appropriate
<code>EndpointPermission[endpoint,EXPORT]</code> for an Endpoint, and the Java
Runtime Environment supports permissions, then the
<a href="ExportRegistration.html#getException()"><code>getException</code></a> method on the
corresponding returned <a href="ExportRegistration.html" title="interface in org.osgi.service.remoteserviceadmin"><code>ExportRegistration</code></a> will return a
<code>SecurityException</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reference</code> - The Service Reference to export.</dd>
<dd><code>properties</code> - The properties to create a local Endpoint that can be
implemented by this Remote Service Admin. If this is <code>null</code>,
the Endpoint will be determined by the properties on the service.
The properties are the same as given for an exported service. They
override any properties in the specified Service Reference (case
insensitive). The properties <code>objectClass</code> and
<code>service.id</code>, in any case variant, are ignored. Those
properties in the Service Reference cannot be overridden. This
parameter can be <code>null</code>, this should be treated as an empty
map.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A <code>Collection</code> of <a href="ExportRegistration.html" title="interface in org.osgi.service.remoteserviceadmin"><code>ExportRegistration</code></a>s for the
specified Service Reference and properties. Multiple Export
Registrations may be returned because a single service can be
exported to multiple Endpoints depending on the available
configuration type properties and the intents that they support.
The result is never <code>null</code> but may be empty if this Remove
Service Admin does not recognize any of the configuration types,
or if they Remote Service Admin cannot support the relevant
intents.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - If any of the properties for this
configuration type has a value that is not syntactically correct,
or if the service properties and the overlaid properties do not
contain a <a href="RemoteConstants.html#SERVICE_EXPORTED_INTERFACES"><code>RemoteConstants.SERVICE_EXPORTED_INTERFACES</code></a>
entry. This means that implementations must not ignore invalid
values for property names that they recognize.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="importService(org.osgi.service.remoteserviceadmin.EndpointDescription)">importService</a></h3>
<div class="memberSignature"><span class="returnType"><a href="ImportRegistration.html" title="interface in org.osgi.service.remoteserviceadmin">ImportRegistration</a></span>&nbsp;<span class="memberName">importService</span>&#8203;(<span class="arguments"><a href="EndpointDescription.html" title="class in org.osgi.service.remoteserviceadmin">EndpointDescription</a>&nbsp;endpoint)</span></div>
<div class="block">Import a service from an Endpoint. The Remote Service Admin must use the
given Endpoint to create a proxy. This method can return <code>null</code> if
the service could not be imported.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>endpoint</code> - The Endpoint Description to be used for import.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An Import Registration that combines the Endpoint Description and
the Service Reference or <code>null</code> if the Endpoint could not
be imported.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang" class="externalLink">SecurityException</a></code> - If the caller does not have the appropriate
<code>EndpointPermission[endpoint,IMPORT]</code> for the Endpoint, and
the Java Runtime Environment supports permissions.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getExportedServices()">getExportedServices</a></h3>
<div class="memberSignature"><span class="returnType"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="ExportReference.html" title="interface in org.osgi.service.remoteserviceadmin">ExportReference</a>&gt;</span>&nbsp;<span class="memberName">getExportedServices</span>()</div>
<div class="block">Return the currently active Export References.
<p>
If the caller does not have the appropriate
<code>EndpointPermission[endpoint,READ]</code> for an Endpoint, and the Java
Runtime Environment supports permissions, then returned collection will
not contain a reference to the exported Endpoint.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A <code>Collection</code> of <a href="ExportReference.html" title="interface in org.osgi.service.remoteserviceadmin"><code>ExportReference</code></a>s that are
currently active.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getImportedEndpoints()">getImportedEndpoints</a></h3>
<div class="memberSignature"><span class="returnType"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="ImportReference.html" title="interface in org.osgi.service.remoteserviceadmin">ImportReference</a>&gt;</span>&nbsp;<span class="memberName">getImportedEndpoints</span>()</div>
<div class="block">Return the currently active Import References.
<p>
If the caller does not have the appropriate
<code>EndpointPermission[endpoint,READ]</code> for an Endpoint, and the Java
Runtime Environment supports permissions, then returned collection will
not contain a reference to the imported Endpoint.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A <code>Collection</code> of <a href="ImportReference.html" title="interface in org.osgi.service.remoteserviceadmin"><code>ImportReference</code></a>s that are
currently active.</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/RemoteServiceAdmin.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>