blob: e746b9b484c95399d5d792fc99d8fd83cf9ade72 [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>ISharedObjectContext (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.sharedobject, interface: ISharedObjectContext">
<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,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":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/ISharedObjectContext.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.sharedobject</a></div>
<h1 title="Interface ISharedObjectContext" class="title">Interface ISharedObjectContext</h1>
</div>
<div class="contentContainer">
<section class="description">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code>org.eclipse.core.runtime.IAdaptable</code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../../provider/generic/SOContext.html" title="class in org.eclipse.ecf.provider.generic">SOContext</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">ISharedObjectContext</span>
extends org.eclipse.core.runtime.IAdaptable</pre>
<div class="block">Context reference provided to all ISharedObjects upon initialization.
Implementers of this interface provide a runtime context for ISharedObject
instances. Upon initialization within a container (see
<a href="ISharedObject.html#init(org.eclipse.ecf.core.sharedobject.ISharedObjectConfig)"><code>ISharedObject.init(ISharedObjectConfig)</code></a>, ISharedObject instances can
access an instance of this context by calling
<a href="ISharedObjectConfig.html#getContext()"><code>ISharedObjectConfig.getContext()</code></a>. They then can have access to the
functions provided by this context object for use in implementing their
behavior.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ISharedObject.html#init(org.eclipse.ecf.core.sharedobject.ISharedObjectConfig)"><code>ISharedObject.init(org.eclipse.ecf.core.sharedobject.ISharedObjectConfig)</code></a>,
<a href="ISharedObjectConfig.html#getContext()"><code>ISharedObjectConfig.getContext()</code></a></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>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="../identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;targetID,
<a href="../security/IConnectContext.html" title="interface in org.eclipse.ecf.core.security">IConnectContext</a>&nbsp;connectContext)</code></th>
<td class="colLast">
<div class="block">(non-Javadoc)</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<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">(non-Javadoc)</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="../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">(non-Javadoc)</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="../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 instance that defines the ID type expected by the
remote target container</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../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="#getGroupMemberIDs()">getGroupMemberIDs</a></span>()</code></th>
<td class="colLast">
<div class="block">(non-Javadoc)</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code><a href="../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="#getLocalContainerID()">getLocalContainerID</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the local container instance's ID</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><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;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLocalContainerProperties()">getLocalContainerProperties</a></span>()</code></th>
<td class="colLast">
<div class="block">Get local container properties that it wishes to expose to shared object
access</div>
</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code><a href="util/IQueueEnqueue.html" title="interface in org.eclipse.ecf.core.sharedobject.util">IQueueEnqueue</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getQueue()">getQueue</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the IQueueEnqueue instance associated with this ISharedObject.</div>
</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code><a href="ISharedObjectManager.html" title="interface in org.eclipse.ecf.core.sharedobject">ISharedObjectManager</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSharedObjectManager()">getSharedObjectManager</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the ISharedObjectManager for this context</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isActive()">isActive</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isGroupManager()">isGroupManager</a></span>()</code></th>
<td class="colLast">
<div class="block">(non-Javadoc)</div>
</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendCreate(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.sharedobject.ReplicaSharedObjectDescription)">sendCreate</a></span>&#8203;(<a href="../identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;targetID,
<a href="ReplicaSharedObjectDescription.html" title="class in org.eclipse.ecf.core.sharedobject">ReplicaSharedObjectDescription</a>&nbsp;sd)</code></th>
<td class="colLast">
<div class="block">Send message to create a remote instance of an ISharedObject with the
same ID as this instance.</div>
</td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendCreateResponse(org.eclipse.ecf.core.identity.ID,java.lang.Throwable,long)">sendCreateResponse</a></span>&#8203;(<a href="../identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;targetID,
<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>&nbsp;throwable,
long&nbsp;identifier)</code></th>
<td class="colLast">
<div class="block">Send create response back to an ISharedObject with the same ID as this
instance.</div>
</td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendDispose(org.eclipse.ecf.core.identity.ID)">sendDispose</a></span>&#8203;(<a href="../identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;targetID)</code></th>
<td class="colLast">
<div class="block">Send message to dispose of a remote instance of the ISharedObject with
same ID as this instance.</div>
</td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendMessage(org.eclipse.ecf.core.identity.ID,java.lang.Object)">sendMessage</a></span>&#8203;(<a href="../identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;targetID,
<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>&nbsp;data)</code></th>
<td class="colLast">
<div class="block">Send arbitrary message to remote instance of the ISharedObject with same
ID as this instance.</div>
</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>
</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="isActive()">isActive</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">isActive</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getLocalContainerID()">getLocalContainerID</a></h3>
<div class="memberSignature"><span class="returnType"><a href="../identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a></span>&nbsp;<span class="memberName">getLocalContainerID</span>()</div>
<div class="block">Get the local container instance's ID</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the ID of the enclosing container</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSharedObjectManager()">getSharedObjectManager</a></h3>
<div class="memberSignature"><span class="returnType"><a href="ISharedObjectManager.html" title="interface in org.eclipse.ecf.core.sharedobject">ISharedObjectManager</a></span>&nbsp;<span class="memberName">getSharedObjectManager</span>()</div>
<div class="block">Get the ISharedObjectManager for this context</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ISharedObjectManager the shared object manager instance for this
container. Null if none available.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getQueue()">getQueue</a></h3>
<div class="memberSignature"><span class="returnType"><a href="util/IQueueEnqueue.html" title="interface in org.eclipse.ecf.core.sharedobject.util">IQueueEnqueue</a></span>&nbsp;<span class="memberName">getQueue</span>()</div>
<div class="block">Get the IQueueEnqueue instance associated with this ISharedObject. If the
given container provides a queue for this ISharedObject, this method will
return a IQueueEnqueue reference to the appropriate queue.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>IQueueEnqueue instance if an active queue is associated with this
ISharedObject. If no active queue is associated with the
ISharedObject, returns null.</dd>
</dl>
</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="returnType">void</span>&nbsp;<span class="memberName">connect</span>&#8203;(<span class="arguments"><a href="../identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;targetID,
<a href="../security/IConnectContext.html" title="interface in org.eclipse.ecf.core.security">IConnectContext</a>&nbsp;connectContext)</span>
throws <span class="exceptions"><a href="../ContainerConnectException.html" title="class in org.eclipse.ecf.core">ContainerConnectException</a></span></div>
<div class="block">(non-Javadoc)</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../ContainerConnectException.html" title="class in org.eclipse.ecf.core">ContainerConnectException</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../IContainer.html#connect(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.security.IConnectContext)"><code>IContainer.connect(ID,IConnectContext)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="disconnect()">disconnect</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">disconnect</span>()</div>
<div class="block">(non-Javadoc)</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../IContainer.html#disconnect()"><code>IContainer.disconnect()</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getConnectedID()">getConnectedID</a></h3>
<div class="memberSignature"><span class="returnType"><a href="../identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a></span>&nbsp;<span class="memberName">getConnectedID</span>()</div>
<div class="block">(non-Javadoc)</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../IContainer.html#getConnectedID()"><code>IContainer.getConnectedID()</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="isGroupManager()">isGroupManager</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">isGroupManager</span>()</div>
<div class="block">(non-Javadoc)</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../IReliableContainer.html#isGroupManager()"><code>IReliableContainer.isGroupManager()</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getGroupMemberIDs()">getGroupMemberIDs</a></h3>
<div class="memberSignature"><span class="returnType"><a href="../identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>[]</span>&nbsp;<span class="memberName">getGroupMemberIDs</span>()</div>
<div class="block">(non-Javadoc)</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../IReliableContainer.html#getGroupMemberIDs()"><code>IReliableContainer.getGroupMemberIDs()</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="sendCreate(org.eclipse.ecf.core.identity.ID,org.eclipse.ecf.core.sharedobject.ReplicaSharedObjectDescription)">sendCreate</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">sendCreate</span>&#8203;(<span class="arguments"><a href="../identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;targetID,
<a href="ReplicaSharedObjectDescription.html" title="class in org.eclipse.ecf.core.sharedobject">ReplicaSharedObjectDescription</a>&nbsp;sd)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></span></div>
<div class="block">Send message to create a remote instance of an ISharedObject with the
same ID as this instance. This method allows ISharedObject instances
(with a reference to a valid ISharedObjectContext) to send messages to
remote containers asking them to create an instance of a new
ISharedObject. The given ReplicaSharedObjectDescription provides the
specification of the new object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>targetID</code> - the ID of the remote that is the target
of the create request. If this parameter is null, the request
is assumed to be made of <b>all </b> currently in the
given group (excepting the local container).</dd>
<dd><code>sd</code> - the ReplicaSharedObjectDescription describing the class,
constructor and other properties to be associated with the new
instance</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/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code> - thrown if message cannot be sent by container</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="sendCreateResponse(org.eclipse.ecf.core.identity.ID,java.lang.Throwable,long)">sendCreateResponse</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">sendCreateResponse</span>&#8203;(<span class="arguments"><a href="../identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;targetID,
<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>&nbsp;throwable,
long&nbsp;identifier)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></span></div>
<div class="block">Send create response back to an ISharedObject with the same ID as this
instance. This method allows ISharedObject instances (with a reference to
a valid ISharedObjectContext) to send messages to remote containers
asking them to deliver the create response status back to the
ISharedObject.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>targetID</code> - the ID of the target that is to receive this response</dd>
<dd><code>throwable</code> - a throwable associated with the creation. Null means that no
exception occurred</dd>
<dd><code>identifier</code> - the identifier used in the original create message (in the
shared object description)</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/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code> - thrown if the create response cannot be sent</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="sendDispose(org.eclipse.ecf.core.identity.ID)">sendDispose</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">sendDispose</span>&#8203;(<span class="arguments"><a href="../identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;targetID)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></span></div>
<div class="block">Send message to dispose of a remote instance of the ISharedObject with
same ID as this instance. This method allows ISharedObject instances to
control the destruction of remote replicas.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>targetID</code> - the ID of the remote that is the target
of the dispose request. If this parameter is null, the request
is assumed to be made of <b>all </b> remotes
currently in the given group (excepting the local container).</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/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code> - thrown if message cannot be sent by container, or if data
cannot be serialized</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="sendMessage(org.eclipse.ecf.core.identity.ID,java.lang.Object)">sendMessage</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">sendMessage</span>&#8203;(<span class="arguments"><a href="../identity/ID.html" title="interface in org.eclipse.ecf.core.identity">ID</a>&nbsp;targetID,
<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>&nbsp;data)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></span></div>
<div class="block">Send arbitrary message to remote instance of the ISharedObject with same
ID as this instance. This method allows ISharedObject instances to send
arbitrary data to one or more remote replicas of this ISharedObject.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>targetID</code> - the ID of the remote that is the target
for the sendMessage. If this parameter is null,
the message is sent to the entire group membership <b>all </b> remote
containers currently in the given group (excepting the local
container).</dd>
<dd><code>data</code> - arbitrary message object. The allowable types of this
parameter are dependent upon the type of the underlying
implementing container</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/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code> - thrown if message cannot be sent by container, or if data
cannot be serialized</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getConnectNamespace()">getConnectNamespace</a></h3>
<div class="memberSignature"><span class="returnType"><a href="../identity/Namespace.html" title="class in org.eclipse.ecf.core.identity">Namespace</a></span>&nbsp;<span class="memberName">getConnectNamespace</span>()</div>
<div class="block">Get the Namespace instance that defines the ID type expected by the
remote target container</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Namespace the namespace by the target for a call to connect().
Null if container namespace no longer available</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getLocalContainerProperties()">getLocalContainerProperties</a></h3>
<div class="memberSignature"><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;?&gt;</span>&nbsp;<span class="memberName">getLocalContainerProperties</span>()</div>
<div class="block">Get local container properties that it wishes to expose to shared object
access</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map of properties available to calling shared object. Map
returned must not be null.</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/ISharedObjectContext.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>