blob: bb35f2725724f68c0707ee7c73941707f0257137 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112) on Mon Oct 14 11:36:15 MSK 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ClientChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
<meta name="date" content="2019-10-14">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ClientChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ClientChannel.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-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/cayenne/remote/BootstrapMessage.html" title="class in org.apache.cayenne.remote"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cayenne/remote/ClientChannel.html" target="_top">Frames</a></li>
<li><a href="ClientChannel.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.cayenne.remote</div>
<h2 title="Class ClientChannel" class="title">Class ClientChannel</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.cayenne.remote.ClientChannel</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">ClientChannel</span>
extends <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a></pre>
<div class="block">A <a href="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne"><code>DataChannel</code></a> implementation that accesses a remote server
via a ClientConnection.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.2</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#channelEventsEnabled">channelEventsEnabled</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote">ClientConnection</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#connection">connection</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/cayenne/graph/GraphDiffCompressor.html" title="class in org.apache.cayenne.graph">GraphDiffCompressor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#diffCompressor">diffCompressor</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#entityResolver">entityResolver</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#eventManager">eventManager</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.cayenne.DataChannel">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;org.apache.cayenne.<a href="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a></h3>
<code><a href="../../../../org/apache/cayenne/DataChannel.html#FLUSH_CASCADE_SYNC">FLUSH_CASCADE_SYNC</a>, <a href="../../../../org/apache/cayenne/DataChannel.html#FLUSH_NOCASCADE_SYNC">FLUSH_NOCASCADE_SYNC</a>, <a href="../../../../org/apache/cayenne/DataChannel.html#GRAPH_CHANGED_SUBJECT">GRAPH_CHANGED_SUBJECT</a>, <a href="../../../../org/apache/cayenne/DataChannel.html#GRAPH_FLUSHED_SUBJECT">GRAPH_FLUSHED_SUBJECT</a>, <a href="../../../../org/apache/cayenne/DataChannel.html#GRAPH_ROLLEDBACK_SUBJECT">GRAPH_ROLLEDBACK_SUBJECT</a>, <a href="../../../../org/apache/cayenne/DataChannel.html#ROLLBACK_CASCADE_SYNC">ROLLBACK_CASCADE_SYNC</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#ClientChannel-org.apache.cayenne.remote.ClientConnection-boolean-org.apache.cayenne.event.EventManager-boolean-">ClientChannel</a></span>(<a href="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote">ClientConnection</a>&nbsp;connection,
boolean&nbsp;channelEventsEnabled,
<a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a>&nbsp;eventManager,
boolean&nbsp;remoteEventsOptional)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote">ClientConnection</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#getConnection--">getConnection</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#getEntityResolver--">getEntityResolver</a></span>()</code>
<div class="block">Returns EntityResolver obtained from the server.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#getEventManager--">getEventManager</a></span>()</code>
<div class="block">Returns an EventManager associated with this channel.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#isChannelEventsEnabled--">isChannelEventsEnabled</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/QueryResponse.html" title="interface in org.apache.cayenne">QueryResponse</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#onQuery-org.apache.cayenne.ObjectContext-org.apache.cayenne.query.Query-">onQuery</a></span>(<a href="../../../../org/apache/cayenne/ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context,
<a href="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</a>&nbsp;query)</code>
<div class="block">Executes a query, using provided <em>context</em> to register persistent objects if
query returns any objects.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/graph/GraphDiff.html" title="interface in org.apache.cayenne.graph">GraphDiff</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#onSync-org.apache.cayenne.ObjectContext-org.apache.cayenne.graph.GraphDiff-int-">onSync</a></span>(<a href="../../../../org/apache/cayenne/ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;originatingContext,
<a href="../../../../org/apache/cayenne/graph/GraphDiff.html" title="interface in org.apache.cayenne.graph">GraphDiff</a>&nbsp;changes,
int&nbsp;syncType)</code>
<div class="block">Processes synchronization request from a child ObjectContext, returning a GraphDiff
that describes changes to objects made on the receiving end as a result of
synchronization.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected &lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#send-org.apache.cayenne.remote.ClientMessage-java.lang.Class-">send</a></span>(<a href="../../../../org/apache/cayenne/remote/ClientMessage.html" title="interface in org.apache.cayenne.remote">ClientMessage</a>&nbsp;message,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;resultClass)</code>
<div class="block">Sends a message via connector, getting a result as an instance of a specific class.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/remote/ClientChannel.html#setupRemoteChannelListener--">setupRemoteChannelListener</a></span>()</code>
<div class="block">Starts up an EventBridge to listen for remote updates.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="connection">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connection</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote">ClientConnection</a> connection</pre>
</li>
</ul>
<a name="eventManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>eventManager</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a> eventManager</pre>
</li>
</ul>
<a name="entityResolver">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>entityResolver</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</a> entityResolver</pre>
</li>
</ul>
<a name="channelEventsEnabled">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>channelEventsEnabled</h4>
<pre>protected&nbsp;boolean channelEventsEnabled</pre>
</li>
</ul>
<a name="diffCompressor">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>diffCompressor</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/cayenne/graph/GraphDiffCompressor.html" title="class in org.apache.cayenne.graph">GraphDiffCompressor</a> diffCompressor</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ClientChannel-org.apache.cayenne.remote.ClientConnection-boolean-org.apache.cayenne.event.EventManager-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ClientChannel</h4>
<pre>public&nbsp;ClientChannel(<a href="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote">ClientConnection</a>&nbsp;connection,
boolean&nbsp;channelEventsEnabled,
<a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a>&nbsp;eventManager,
boolean&nbsp;remoteEventsOptional)
throws <a href="../../../../org/apache/cayenne/CayenneRuntimeException.html" title="class in org.apache.cayenne">CayenneRuntimeException</a></pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>remoteEventsOptional</code> - if true, failure to start an EventBridge will not
result in an exception.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/CayenneRuntimeException.html" title="class in org.apache.cayenne">CayenneRuntimeException</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getConnection--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnection</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote">ClientConnection</a>&nbsp;getConnection()</pre>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.1</dd>
</dl>
</li>
</ul>
<a name="isChannelEventsEnabled--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isChannelEventsEnabled</h4>
<pre>public&nbsp;boolean&nbsp;isChannelEventsEnabled()</pre>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.1</dd>
</dl>
</li>
</ul>
<a name="getEventManager--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEventManager</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a>&nbsp;getEventManager()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/DataChannel.html#getEventManager--">DataChannel</a></code></span></div>
<div class="block">Returns an EventManager associated with this channel. Channel may return null if
EventManager is not available for any reason.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/DataChannel.html#getEventManager--">getEventManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a></code></dd>
</dl>
</li>
</ul>
<a name="onQuery-org.apache.cayenne.ObjectContext-org.apache.cayenne.query.Query-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onQuery</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/QueryResponse.html" title="interface in org.apache.cayenne">QueryResponse</a>&nbsp;onQuery(<a href="../../../../org/apache/cayenne/ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context,
<a href="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</a>&nbsp;query)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/DataChannel.html#onQuery-org.apache.cayenne.ObjectContext-org.apache.cayenne.query.Query-">DataChannel</a></code></span></div>
<div class="block">Executes a query, using provided <em>context</em> to register persistent objects if
query returns any objects.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/DataChannel.html#onQuery-org.apache.cayenne.ObjectContext-org.apache.cayenne.query.Query-">onQuery</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>context</code> - an ObjectContext that originated the query, used to
register result objects.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a generic response object that encapsulates result of the execution.</dd>
</dl>
</li>
</ul>
<a name="onSync-org.apache.cayenne.ObjectContext-org.apache.cayenne.graph.GraphDiff-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onSync</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/graph/GraphDiff.html" title="interface in org.apache.cayenne.graph">GraphDiff</a>&nbsp;onSync(<a href="../../../../org/apache/cayenne/ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;originatingContext,
<a href="../../../../org/apache/cayenne/graph/GraphDiff.html" title="interface in org.apache.cayenne.graph">GraphDiff</a>&nbsp;changes,
int&nbsp;syncType)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/DataChannel.html#onSync-org.apache.cayenne.ObjectContext-org.apache.cayenne.graph.GraphDiff-int-">DataChannel</a></code></span></div>
<div class="block">Processes synchronization request from a child ObjectContext, returning a GraphDiff
that describes changes to objects made on the receiving end as a result of
synchronization.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/DataChannel.html#onSync-org.apache.cayenne.ObjectContext-org.apache.cayenne.graph.GraphDiff-int-">onSync</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>originatingContext</code> - an ObjectContext that initiated the sync. Can be null.</dd>
<dd><code>changes</code> - diff from the context that initiated the sync.</dd>
<dd><code>syncType</code> - One of <a href="../../../../org/apache/cayenne/DataChannel.html#FLUSH_NOCASCADE_SYNC"><code>DataChannel.FLUSH_NOCASCADE_SYNC</code></a>, <a href="../../../../org/apache/cayenne/DataChannel.html#FLUSH_CASCADE_SYNC"><code>DataChannel.FLUSH_CASCADE_SYNC</code></a>,
<a href="../../../../org/apache/cayenne/DataChannel.html#ROLLBACK_CASCADE_SYNC"><code>DataChannel.ROLLBACK_CASCADE_SYNC</code></a>.</dd>
</dl>
</li>
</ul>
<a name="getEntityResolver--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEntityResolver</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</a>&nbsp;getEntityResolver()</pre>
<div class="block">Returns EntityResolver obtained from the server. On first access, this method sends
a message to the server to retrieve the EntityResolver. On subsequent calls locally
cached resolver is used.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/DataChannel.html#getEntityResolver--">getEntityResolver</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a></code></dd>
</dl>
</li>
</ul>
<a name="setupRemoteChannelListener--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setupRemoteChannelListener</h4>
<pre>protected&nbsp;boolean&nbsp;setupRemoteChannelListener()
throws <a href="../../../../org/apache/cayenne/CayenneRuntimeException.html" title="class in org.apache.cayenne">CayenneRuntimeException</a></pre>
<div class="block">Starts up an EventBridge to listen for remote updates. Returns true if the listener
was setup, false if not. False can be returned if the underlying connection doesn't
support events of if there is no EventManager available.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/CayenneRuntimeException.html" title="class in org.apache.cayenne">CayenneRuntimeException</a></code></dd>
</dl>
</li>
</ul>
<a name="send-org.apache.cayenne.remote.ClientMessage-java.lang.Class-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>send</h4>
<pre>protected&nbsp;&lt;T&gt;&nbsp;T&nbsp;send(<a href="../../../../org/apache/cayenne/remote/ClientMessage.html" title="interface in org.apache.cayenne.remote">ClientMessage</a>&nbsp;message,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;resultClass)</pre>
<div class="block">Sends a message via connector, getting a result as an instance of a specific class.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/CayenneRuntimeException.html" title="class in org.apache.cayenne">CayenneRuntimeException</a></code> - if an underlying connector
exception occurred, or a result is not of expected type.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ClientChannel.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-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/cayenne/remote/BootstrapMessage.html" title="class in org.apache.cayenne.remote"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cayenne/remote/ClientChannel.html" target="_top">Frames</a></li>
<li><a href="ClientChannel.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
</body>
</html>