blob: ad287b030c4852b3b11cc64b808c698e7c9db750 [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:19 MSK 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DataChannel (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="DataChannel (cayenne-doc: Cayenne Documentation 4.0.2 API)";
}
}
catch(err) {
}
//-->
var methods = {"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";
</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/DataChannel.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/ConfigurationException.html" title="class in org.apache.cayenne"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/cayenne/DataChannelFilter.html" title="interface in org.apache.cayenne"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/cayenne/DataChannel.html" target="_top">Frames</a></li>
<li><a href="DataChannel.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>Constr&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>Constr&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</div>
<h2 title="Interface DataChannel" class="title">Interface DataChannel</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../org/apache/cayenne/ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../org/apache/cayenne/BaseContext.html" title="class in org.apache.cayenne">BaseContext</a>, <a href="../../../org/apache/cayenne/CayenneContext.html" title="class in org.apache.cayenne">CayenneContext</a>, <a href="../../../org/apache/cayenne/remote/ClientChannel.html" title="class in org.apache.cayenne.remote">ClientChannel</a>, <a href="../../../org/apache/cayenne/access/ClientServerChannel.html" title="class in org.apache.cayenne.access">ClientServerChannel</a>, <a href="../../../org/apache/cayenne/access/DataContext.html" title="class in org.apache.cayenne.access">DataContext</a>, <a href="../../../org/apache/cayenne/access/DataDomain.html" title="class in org.apache.cayenne.access">DataDomain</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">DataChannel</span></pre>
<div class="block">DataChannel is an abstraction used by ObjectContexts to obtain mapping metadata and
access a persistent store. There is rarely a need to use it directly.</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>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/DataChannel.html#FLUSH_CASCADE_SYNC">FLUSH_CASCADE_SYNC</a></span></code>
<div class="block">A synchronization type that results in changes from an ObjectContext to be recorded
in the parent DataChannel.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/DataChannel.html#FLUSH_NOCASCADE_SYNC">FLUSH_NOCASCADE_SYNC</a></span></code>
<div class="block">A synchronization type that results in changes from an ObjectContext to be recorded
in the parent DataChannel.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/DataChannel.html#GRAPH_CHANGED_SUBJECT">GRAPH_CHANGED_SUBJECT</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/DataChannel.html#GRAPH_FLUSHED_SUBJECT">GRAPH_FLUSHED_SUBJECT</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/DataChannel.html#GRAPH_ROLLEDBACK_SUBJECT">GRAPH_ROLLEDBACK_SUBJECT</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/DataChannel.html#ROLLBACK_CASCADE_SYNC">ROLLBACK_CASCADE_SYNC</a></span></code>
<div class="block">A synchronization type that results in cascading rollback of changes through the
DataChannel stack.</div>
</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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/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/DataChannel.html#getEntityResolver--">getEntityResolver</a></span>()</code>
<div class="block">Returns an EntityResolver instance that contains runtime mapping information.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<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/DataChannel.html#getEventManager--">getEventManager</a></span>()</code>
<div class="block">Returns an EventManager associated with this channel.</div>
</td>
</tr>
<tr id="i2" 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/DataChannel.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;originatingContext,
<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="i3" 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/DataChannel.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>
</table>
</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="FLUSH_NOCASCADE_SYNC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FLUSH_NOCASCADE_SYNC</h4>
<pre>static final&nbsp;int FLUSH_NOCASCADE_SYNC</pre>
<div class="block">A synchronization type that results in changes from an ObjectContext to be recorded
in the parent DataChannel. If the parent is itself an ObjectContext, changes are
NOT propagated any further.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#org.apache.cayenne.DataChannel.FLUSH_NOCASCADE_SYNC">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="FLUSH_CASCADE_SYNC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FLUSH_CASCADE_SYNC</h4>
<pre>static final&nbsp;int FLUSH_CASCADE_SYNC</pre>
<div class="block">A synchronization type that results in changes from an ObjectContext to be recorded
in the parent DataChannel. If the parent is itself an ObjectContext, it is expected
to send its own sync message to its parent DataChannel to cascade synchronization
all the way down the stack.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#org.apache.cayenne.DataChannel.FLUSH_CASCADE_SYNC">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ROLLBACK_CASCADE_SYNC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ROLLBACK_CASCADE_SYNC</h4>
<pre>static final&nbsp;int ROLLBACK_CASCADE_SYNC</pre>
<div class="block">A synchronization type that results in cascading rollback of changes through the
DataChannel stack.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#org.apache.cayenne.DataChannel.ROLLBACK_CASCADE_SYNC">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="GRAPH_CHANGED_SUBJECT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GRAPH_CHANGED_SUBJECT</h4>
<pre>static final&nbsp;<a href="../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a> GRAPH_CHANGED_SUBJECT</pre>
</li>
</ul>
<a name="GRAPH_FLUSHED_SUBJECT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GRAPH_FLUSHED_SUBJECT</h4>
<pre>static final&nbsp;<a href="../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a> GRAPH_FLUSHED_SUBJECT</pre>
</li>
</ul>
<a name="GRAPH_ROLLEDBACK_SUBJECT">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>GRAPH_ROLLEDBACK_SUBJECT</h4>
<pre>static final&nbsp;<a href="../../../org/apache/cayenne/event/EventSubject.html" title="class in org.apache.cayenne.event">EventSubject</a> GRAPH_ROLLEDBACK_SUBJECT</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getEventManager--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEventManager</h4>
<pre><a href="../../../org/apache/cayenne/event/EventManager.html" title="interface in org.apache.cayenne.event">EventManager</a>&nbsp;getEventManager()</pre>
<div class="block">Returns an EventManager associated with this channel. Channel may return null if
EventManager is not available for any reason.</div>
</li>
</ul>
<a name="getEntityResolver--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEntityResolver</h4>
<pre><a href="../../../org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</a>&nbsp;getEntityResolver()</pre>
<div class="block">Returns an EntityResolver instance that contains runtime mapping information.</div>
</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><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;originatingContext,
<a href="../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</a>&nbsp;query)</pre>
<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="paramLabel">Parameters:</span></dt>
<dd><code>originatingContext</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="blockListLast">
<li class="blockList">
<h4>onSync</h4>
<pre><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">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="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>FLUSH_NOCASCADE_SYNC</code></a>, <a href="../../../org/apache/cayenne/DataChannel.html#FLUSH_CASCADE_SYNC"><code>FLUSH_CASCADE_SYNC</code></a>,
<a href="../../../org/apache/cayenne/DataChannel.html#ROLLBACK_CASCADE_SYNC"><code>ROLLBACK_CASCADE_SYNC</code></a>.</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/DataChannel.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/ConfigurationException.html" title="class in org.apache.cayenne"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/cayenne/DataChannelFilter.html" title="interface in org.apache.cayenne"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/cayenne/DataChannel.html" target="_top">Frames</a></li>
<li><a href="DataChannel.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>Constr&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>Constr&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>