blob: 100e06074392e6bc0e957f0c26d00d2045b3c86d [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_24) on Sat Jun 11 11:32:52 EEST 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
ClientChannel (Cayenne Documentation 3.0.2 API)
</TITLE>
<META NAME="date" CONTENT="2011-06-11">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ClientChannel (Cayenne Documentation 3.0.2 API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ClientChannel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/cayenne/remote/BootstrapMessage.html" title="class in org.apache.cayenne.remote"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/cayenne/remote/ClientChannel.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ClientChannel.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.cayenne.remote</FONT>
<BR>
Class ClientChannel</H2>
<PRE>
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.cayenne.remote.ClientChannel</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>ClientChannel</B><DT>extends <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</A></DL>
</PRE>
<P>
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.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#channelEventsEnabled">channelEventsEnabled</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote">ClientConnection</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#connection">connection</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/cayenne/graph/GraphDiffCompressor.html" title="class in org.apache.cayenne.graph">GraphDiffCompressor</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#diffCompressor">diffCompressor</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#entityResolver">entityResolver</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/cayenne/event/EventManager.html" title="class in org.apache.cayenne.event">EventManager</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#eventManager">eventManager</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.cayenne.DataChannel"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface org.apache.cayenne.<A HREF="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><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></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#ClientChannel(org.apache.cayenne.remote.ClientConnection)">ClientChannel</A></B>(<A HREF="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote">ClientConnection</A>&nbsp;connection)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new channel accessing remote server via provided connection.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#ClientChannel(org.apache.cayenne.remote.ClientConnection, boolean)">ClientChannel</A></B>(<A HREF="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote">ClientConnection</A>&nbsp;connection,
boolean&nbsp;channelEventsEnabled)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#ClientChannel(org.apache.cayenne.remote.ClientConnection, boolean, org.apache.cayenne.event.EventManager)">ClientChannel</A></B>(<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="class in org.apache.cayenne.event">EventManager</A>&nbsp;eventManager)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#ClientChannel(org.apache.cayenne.remote.ClientConnection, boolean, org.apache.cayenne.event.EventManager, boolean)">ClientChannel</A></B>(<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="class in org.apache.cayenne.event">EventManager</A>&nbsp;eventManager,
boolean&nbsp;remoteEventsOptional)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#getEntityResolver()">getEntityResolver</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns EntityResolver obtained from the server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/cayenne/event/EventManager.html" title="class in org.apache.cayenne.event">EventManager</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#getEventManager()">getEventManager</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an EventManager associated with this channel.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/cayenne/QueryResponse.html" title="interface in org.apache.cayenne">QueryResponse</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#onQuery(org.apache.cayenne.ObjectContext, org.apache.cayenne.query.Query)">onQuery</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Executes a query, using provided <em>context</em> to register persistent objects
if query returns any objects.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/cayenne/graph/GraphDiff.html" title="interface in org.apache.cayenne.graph">GraphDiff</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#onSync(org.apache.cayenne.ObjectContext, org.apache.cayenne.graph.GraphDiff, int)">onSync</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Processes synchronization request from a child ObjectContext, returning a GraphDiff
that describes changes to objects made on the receiving end as a result of
syncronization.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#send(org.apache.cayenne.remote.ClientMessage, java.lang.Class)">send</A></B>(<A HREF="../../../../org/apache/cayenne/remote/ClientMessage.html" title="interface in org.apache.cayenne.remote">ClientMessage</A>&nbsp;message,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&lt;?&gt;&nbsp;resultClass)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a message via connector, getting a result as an instance of a specific class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/remote/ClientChannel.html#setupRemoteChannelListener()">setupRemoteChannelListener</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts up an EventBridge to listen for remote updates.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="connection"><!-- --></A><H3>
connection</H3>
<PRE>
protected <A HREF="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote">ClientConnection</A> <B>connection</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="eventManager"><!-- --></A><H3>
eventManager</H3>
<PRE>
protected <A HREF="../../../../org/apache/cayenne/event/EventManager.html" title="class in org.apache.cayenne.event">EventManager</A> <B>eventManager</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="entityResolver"><!-- --></A><H3>
entityResolver</H3>
<PRE>
protected <A HREF="../../../../org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</A> <B>entityResolver</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="channelEventsEnabled"><!-- --></A><H3>
channelEventsEnabled</H3>
<PRE>
protected boolean <B>channelEventsEnabled</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="diffCompressor"><!-- --></A><H3>
diffCompressor</H3>
<PRE>
protected <A HREF="../../../../org/apache/cayenne/graph/GraphDiffCompressor.html" title="class in org.apache.cayenne.graph">GraphDiffCompressor</A> <B>diffCompressor</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="ClientChannel(org.apache.cayenne.remote.ClientConnection)"><!-- --></A><H3>
ClientChannel</H3>
<PRE>
public <B>ClientChannel</B>(<A HREF="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote">ClientConnection</A>&nbsp;connection)</PRE>
<DL>
<DD>Creates a new channel accessing remote server via provided connection. Channel
created using this constructor will post no events of its own and provide its users
with a multithreaded EventManager.
<P>
</DL>
<HR>
<A NAME="ClientChannel(org.apache.cayenne.remote.ClientConnection, boolean)"><!-- --></A><H3>
ClientChannel</H3>
<PRE>
public <B>ClientChannel</B>(<A HREF="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote">ClientConnection</A>&nbsp;connection,
boolean&nbsp;channelEventsEnabled)</PRE>
<DL>
</DL>
<HR>
<A NAME="ClientChannel(org.apache.cayenne.remote.ClientConnection, boolean, org.apache.cayenne.event.EventManager)"><!-- --></A><H3>
ClientChannel</H3>
<PRE>
public <B>ClientChannel</B>(<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="class in org.apache.cayenne.event">EventManager</A>&nbsp;eventManager)
throws <A HREF="../../../../org/apache/cayenne/CayenneRuntimeException.html" title="class in org.apache.cayenne">CayenneRuntimeException</A></PRE>
<DL>
<DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/cayenne/CayenneRuntimeException.html" title="class in org.apache.cayenne">CayenneRuntimeException</A></CODE></DL>
</DL>
<HR>
<A NAME="ClientChannel(org.apache.cayenne.remote.ClientConnection, boolean, org.apache.cayenne.event.EventManager, boolean)"><!-- --></A><H3>
ClientChannel</H3>
<PRE>
public <B>ClientChannel</B>(<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="class 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>
<DL>
<DT><B>Parameters:</B><DD><CODE>remoteEventsOptional</CODE> - if true, failure to start an EventBridge will not
result in an exception.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/cayenne/CayenneRuntimeException.html" title="class in org.apache.cayenne">CayenneRuntimeException</A></CODE><DT><B>Since:</B></DT>
<DD>3.0</DD>
</DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="getEventManager()"><!-- --></A><H3>
getEventManager</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/event/EventManager.html" title="class in org.apache.cayenne.event">EventManager</A> <B>getEventManager</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/cayenne/DataChannel.html#getEventManager()">DataChannel</A></CODE></B></DD>
<DD>Returns an EventManager associated with this channel. Channel may return null if
EventManager is not available for any reason.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/DataChannel.html#getEventManager()">getEventManager</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="onQuery(org.apache.cayenne.ObjectContext, org.apache.cayenne.query.Query)"><!-- --></A><H3>
onQuery</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/QueryResponse.html" title="interface in org.apache.cayenne">QueryResponse</A> <B>onQuery</B>(<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>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/cayenne/DataChannel.html#onQuery(org.apache.cayenne.ObjectContext, org.apache.cayenne.query.Query)">DataChannel</A></CODE></B></DD>
<DD>Executes a query, using provided <em>context</em> to register persistent objects
if query returns any objects.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/DataChannel.html#onQuery(org.apache.cayenne.ObjectContext, org.apache.cayenne.query.Query)">onQuery</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - an ObjectContext that originated the query, used to
register result objects.
<DT><B>Returns:</B><DD>a generic response object that encapsulates result of the execution.</DL>
</DD>
</DL>
<HR>
<A NAME="onSync(org.apache.cayenne.ObjectContext, org.apache.cayenne.graph.GraphDiff, int)"><!-- --></A><H3>
onSync</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/graph/GraphDiff.html" title="interface in org.apache.cayenne.graph">GraphDiff</A> <B>onSync</B>(<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>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/cayenne/DataChannel.html#onSync(org.apache.cayenne.ObjectContext, org.apache.cayenne.graph.GraphDiff, int)">DataChannel</A></CODE></B></DD>
<DD>Processes synchronization request from a child ObjectContext, returning a GraphDiff
that describes changes to objects made on the receiving end as a result of
syncronization.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/DataChannel.html#onSync(org.apache.cayenne.ObjectContext, org.apache.cayenne.graph.GraphDiff, int)">onSync</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>originatingContext</CODE> - an ObjectContext that initiated the sync. Can be null.<DD><CODE>changes</CODE> - diff from the context that initiated the sync.<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>.</DL>
</DD>
</DL>
<HR>
<A NAME="getEntityResolver()"><!-- --></A><H3>
getEntityResolver</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</A> <B>getEntityResolver</B>()</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/DataChannel.html#getEntityResolver()">getEntityResolver</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setupRemoteChannelListener()"><!-- --></A><H3>
setupRemoteChannelListener</H3>
<PRE>
protected boolean <B>setupRemoteChannelListener</B>()
throws <A HREF="../../../../org/apache/cayenne/CayenneRuntimeException.html" title="class in org.apache.cayenne">CayenneRuntimeException</A></PRE>
<DL>
<DD>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.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/cayenne/CayenneRuntimeException.html" title="class in org.apache.cayenne">CayenneRuntimeException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="send(org.apache.cayenne.remote.ClientMessage, java.lang.Class)"><!-- --></A><H3>
send</H3>
<PRE>
protected <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>send</B>(<A HREF="../../../../org/apache/cayenne/remote/ClientMessage.html" title="interface in org.apache.cayenne.remote">ClientMessage</A>&nbsp;message,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&lt;?&gt;&nbsp;resultClass)</PRE>
<DL>
<DD>Sends a message via connector, getting a result as an instance of a specific class.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<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.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ClientChannel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/cayenne/remote/BootstrapMessage.html" title="class in org.apache.cayenne.remote"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/cayenne/remote/ClientConnection.html" title="interface in org.apache.cayenne.remote"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/cayenne/remote/ClientChannel.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ClientChannel.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2001-2011 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All Rights Reserved.
</BODY>
</HTML>