blob: eb3c0bfa857ebbfdce3bcca73edc5a72a1db6ed8 [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.5.0_06) on Wed Jul 19 14:42:40 EDT 2006 -->
<TITLE>
DataChannel (Cayenne API Documentation - v.1.2)
</TITLE>
<META NAME="keywords" CONTENT="org.objectstyle.cayenne.DataChannel interface">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../objectstyle-javadoc.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="DataChannel (Cayenne API Documentation - v.1.2)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= 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="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-files/index-1.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/objectstyle/cayenne/ConfigurationException.html" title="class in org.objectstyle.cayenne"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/objectstyle/cayenne/DataChannelListener.html" title="interface in org.objectstyle.cayenne"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/objectstyle/cayenne/DataChannel.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DataChannel.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;CONSTR&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;CONSTR&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.objectstyle.cayenne</FONT>
<BR>
Interface DataChannel</H2>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/objectstyle/cayenne/remote/ClientChannel.html" title="class in org.objectstyle.cayenne.remote">ClientChannel</A>, <A HREF="../../../org/objectstyle/cayenne/access/ClientServerChannel.html" title="class in org.objectstyle.cayenne.access">ClientServerChannel</A>, <A HREF="../../../org/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access">DataContext</A>, <A HREF="../../../org/objectstyle/cayenne/access/DataDomain.html" title="class in org.objectstyle.cayenne.access">DataDomain</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>DataChannel</B></DL>
</PRE>
<P>
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.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
<DT><B>Author:</B></DT>
<DD>Andrus Adamchik</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>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataChannel.html#FLUSH_CASCADE_SYNC">FLUSH_CASCADE_SYNC</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A synchronization type that results in changes from an ObjectContext to be recorded
in the parent DataChannel.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataChannel.html#FLUSH_NOCASCADE_SYNC">FLUSH_NOCASCADE_SYNC</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A synchronization type that results in changes from an ObjectContext to be recorded
in the parent DataChannel.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/objectstyle/cayenne/event/EventSubject.html" title="class in org.objectstyle.cayenne.event">EventSubject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataChannel.html#GRAPH_CHANGED_SUBJECT">GRAPH_CHANGED_SUBJECT</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>static&nbsp;<A HREF="../../../org/objectstyle/cayenne/event/EventSubject.html" title="class in org.objectstyle.cayenne.event">EventSubject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataChannel.html#GRAPH_FLUSHED_SUBJECT">GRAPH_FLUSHED_SUBJECT</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>static&nbsp;<A HREF="../../../org/objectstyle/cayenne/event/EventSubject.html" title="class in org.objectstyle.cayenne.event">EventSubject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataChannel.html#GRAPH_ROLLEDBACK_SUBJECT">GRAPH_ROLLEDBACK_SUBJECT</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>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataChannel.html#ROLLBACK_CASCADE_SYNC">ROLLBACK_CASCADE_SYNC</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A synchronization type that results in cascading rollback of changes through the
DataChannel stack.</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/objectstyle/cayenne/map/EntityResolver.html" title="class in org.objectstyle.cayenne.map">EntityResolver</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataChannel.html#getEntityResolver()">getEntityResolver</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an EntityResolver instance that contains runtime mapping information.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/objectstyle/cayenne/event/EventManager.html" title="class in org.objectstyle.cayenne.event">EventManager</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataChannel.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/objectstyle/cayenne/QueryResponse.html" title="interface in org.objectstyle.cayenne">QueryResponse</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataChannel.html#onQuery(org.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.query.Query)">onQuery</A></B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;originatingContext,
<A HREF="../../../org/objectstyle/cayenne/query/Query.html" title="interface in org.objectstyle.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/objectstyle/cayenne/graph/GraphDiff.html" title="interface in org.objectstyle.cayenne.graph">GraphDiff</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/objectstyle/cayenne/DataChannel.html#onSync(org.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.graph.GraphDiff, int)">onSync</A></B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;originatingContext,
<A HREF="../../../org/objectstyle/cayenne/graph/GraphDiff.html" title="interface in org.objectstyle.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>
</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="FLUSH_NOCASCADE_SYNC"><!-- --></A><H3>
FLUSH_NOCASCADE_SYNC</H3>
<PRE>
static final int <B>FLUSH_NOCASCADE_SYNC</B></PRE>
<DL>
<DD>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.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.objectstyle.cayenne.DataChannel.FLUSH_NOCASCADE_SYNC">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="FLUSH_CASCADE_SYNC"><!-- --></A><H3>
FLUSH_CASCADE_SYNC</H3>
<PRE>
static final int <B>FLUSH_CASCADE_SYNC</B></PRE>
<DL>
<DD>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 sycnhronization
all the way down the stack.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.objectstyle.cayenne.DataChannel.FLUSH_CASCADE_SYNC">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="ROLLBACK_CASCADE_SYNC"><!-- --></A><H3>
ROLLBACK_CASCADE_SYNC</H3>
<PRE>
static final int <B>ROLLBACK_CASCADE_SYNC</B></PRE>
<DL>
<DD>A synchronization type that results in cascading rollback of changes through the
DataChannel stack.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.objectstyle.cayenne.DataChannel.ROLLBACK_CASCADE_SYNC">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="GRAPH_CHANGED_SUBJECT"><!-- --></A><H3>
GRAPH_CHANGED_SUBJECT</H3>
<PRE>
static final <A HREF="../../../org/objectstyle/cayenne/event/EventSubject.html" title="class in org.objectstyle.cayenne.event">EventSubject</A> <B>GRAPH_CHANGED_SUBJECT</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="GRAPH_FLUSHED_SUBJECT"><!-- --></A><H3>
GRAPH_FLUSHED_SUBJECT</H3>
<PRE>
static final <A HREF="../../../org/objectstyle/cayenne/event/EventSubject.html" title="class in org.objectstyle.cayenne.event">EventSubject</A> <B>GRAPH_FLUSHED_SUBJECT</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="GRAPH_ROLLEDBACK_SUBJECT"><!-- --></A><H3>
GRAPH_ROLLEDBACK_SUBJECT</H3>
<PRE>
static final <A HREF="../../../org/objectstyle/cayenne/event/EventSubject.html" title="class in org.objectstyle.cayenne.event">EventSubject</A> <B>GRAPH_ROLLEDBACK_SUBJECT</B></PRE>
<DL>
<DL>
</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>
<A HREF="../../../org/objectstyle/cayenne/event/EventManager.html" title="class in org.objectstyle.cayenne.event">EventManager</A> <B>getEventManager</B>()</PRE>
<DL>
<DD>Returns an EventManager associated with this channel. Channel may return null if
EventManager is not available for any reason.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getEntityResolver()"><!-- --></A><H3>
getEntityResolver</H3>
<PRE>
<A HREF="../../../org/objectstyle/cayenne/map/EntityResolver.html" title="class in org.objectstyle.cayenne.map">EntityResolver</A> <B>getEntityResolver</B>()</PRE>
<DL>
<DD>Returns an EntityResolver instance that contains runtime mapping information.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="onQuery(org.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.query.Query)"><!-- --></A><H3>
onQuery</H3>
<PRE>
<A HREF="../../../org/objectstyle/cayenne/QueryResponse.html" title="interface in org.objectstyle.cayenne">QueryResponse</A> <B>onQuery</B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;originatingContext,
<A HREF="../../../org/objectstyle/cayenne/query/Query.html" title="interface in org.objectstyle.cayenne.query">Query</A>&nbsp;query)</PRE>
<DL>
<DD>Executes a query, using provided <em>context</em> to register persistent objects
if query returns any objects.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>originatingContext</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.objectstyle.cayenne.ObjectContext, org.objectstyle.cayenne.graph.GraphDiff, int)"><!-- --></A><H3>
onSync</H3>
<PRE>
<A HREF="../../../org/objectstyle/cayenne/graph/GraphDiff.html" title="interface in org.objectstyle.cayenne.graph">GraphDiff</A> <B>onSync</B>(<A HREF="../../../org/objectstyle/cayenne/ObjectContext.html" title="interface in org.objectstyle.cayenne">ObjectContext</A>&nbsp;originatingContext,
<A HREF="../../../org/objectstyle/cayenne/graph/GraphDiff.html" title="interface in org.objectstyle.cayenne.graph">GraphDiff</A>&nbsp;changes,
int&nbsp;syncType)</PRE>
<DL>
<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>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/objectstyle/cayenne/DataChannel.html#FLUSH_NOCASCADE_SYNC"><CODE>FLUSH_NOCASCADE_SYNC</CODE></A>, <A HREF="../../../org/objectstyle/cayenne/DataChannel.html#FLUSH_CASCADE_SYNC"><CODE>FLUSH_CASCADE_SYNC</CODE></A>,
<A HREF="../../../org/objectstyle/cayenne/DataChannel.html#ROLLBACK_CASCADE_SYNC"><CODE>ROLLBACK_CASCADE_SYNC</CODE></A>.</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="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-files/index-1.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/objectstyle/cayenne/ConfigurationException.html" title="class in org.objectstyle.cayenne"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/objectstyle/cayenne/DataChannelListener.html" title="interface in org.objectstyle.cayenne"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/objectstyle/cayenne/DataChannel.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DataChannel.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;CONSTR&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;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<!--@SFLOGO@--> &nbsp; <i>Copyright &#169; 2001-2006 <a href=
"http://objectstyle.org" target="_top">ObjectStyle.org</a> All Rights Reserved.</i>
</BODY>
</HTML>