<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.1) on Tue Jun 15 21:55:05 PDT 2021 -->
<title>ImportRegistration (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: ImportRegistration">
<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/ImportRegistration.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 ImportRegistration" class="title">Interface ImportRegistration</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.ImportRegistration.html" title="class in org.eclipse.ecf.osgi.services.remoteserviceadmin">RemoteServiceAdmin.ImportRegistration</a></code></dd>
</dl>
<hr>
<pre>@ProviderType
public interface <span class="typeNameLabel">ImportRegistration</span></pre>
<div class="block">An Import Registration associates an active proxy service to a remote
 endpoint.
 
 The Import Registration can be used to delete the proxy associated with an
 endpoint. It is created with the
 <a href="RemoteServiceAdmin.html#importService(org.osgi.service.remoteserviceadmin.EndpointDescription)"><code>RemoteServiceAdmin.importService(EndpointDescription)</code></a> method.
 
 When this Import Registration has been closed, all methods must return
 <code>null</code>.</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>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#close()">close</a></span>()</code></th>
<td class="colLast">
<div class="block">Close this Import Registration.</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/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getException()">getException</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the exception for any error during the import process.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="ImportReference.html" title="interface in org.osgi.service.remoteserviceadmin">ImportReference</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getImportReference()">getImportReference</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the Import Reference for the imported service.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#update(org.osgi.service.remoteserviceadmin.EndpointDescription)">update</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">Update the local service represented by this <a href="ImportRegistration.html" title="interface in org.osgi.service.remoteserviceadmin"><code>ImportRegistration</code></a>.</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="getImportReference()">getImportReference</a></h3>
<div class="memberSignature"><span class="returnType"><a href="ImportReference.html" title="interface in org.osgi.service.remoteserviceadmin">ImportReference</a></span>&nbsp;<span class="memberName">getImportReference</span>()</div>
<div class="block">Return the Import Reference for the imported service.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The Import Reference for this registration, or <code>null</code>
         if this Import Registration is closed.</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/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - When this registration was not properly
         initialized. See <a href="#getException()"><code>getException()</code></a>.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="update(org.osgi.service.remoteserviceadmin.EndpointDescription)">update</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">update</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">Update the local service represented by this <a href="ImportRegistration.html" title="interface in org.osgi.service.remoteserviceadmin"><code>ImportRegistration</code></a>.
 After this method returns the <a href="EndpointDescription.html" title="class in org.osgi.service.remoteserviceadmin"><code>EndpointDescription</code></a> returned via
 <a href="#getImportReference()"><code>getImportReference()</code></a> must have been updated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>endpoint</code> - The updated endpoint</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the endpoint was successfully updated,
         <code>false</code> otherwise. If the update fails then the
         failure can be retrieved from <a href="#getException()"><code>getException()</code></a>.</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/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - When this registration is closed, or if it
         was not properly initialized. See <a href="#getException()"><code>getException()</code></a>.</dd>
<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> - When the supplied
         <a href="EndpointDescription.html" title="class in org.osgi.service.remoteserviceadmin"><code>EndpointDescription</code></a> does not represent the same endpoint
         as this <a href="ImportRegistration.html" title="interface in org.osgi.service.remoteserviceadmin"><code>ImportRegistration</code></a>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="close()">close</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">close</span>()</div>
<div class="block">Close this Import Registration. This must close the connection to the
 endpoint and unregister the proxy. After this method returns, all other
 methods must return <code>null</code>.
 
 This method has no effect when this registration has already been closed
 or is being closed.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getException()">getException</a></h3>
<div class="memberSignature"><span class="returnType"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></span>&nbsp;<span class="memberName">getException</span>()</div>
<div class="block">Return the exception for any error during the import process.
 
 If the Remote Service Admin for some reasons is unable to properly
 initialize this registration, then it must return an exception from this
 method. If no error occurred, this method must return <code>null</code>.
 
 The error must be set before this Import Registration is returned.
 Asynchronously occurring errors must be reported to the log.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The exception that occurred during the initialization of this
         registration or <code>null</code> if no exception occurred.</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/ImportRegistration.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>
