blob: 0c29947085440562dc8b96d9c70a4a1b70641859 [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:41 EDT 2006 -->
<TITLE>
DataContextDelegate (Cayenne API Documentation - v.1.2)
</TITLE>
<META NAME="keywords" CONTENT="org.objectstyle.cayenne.access.DataContextDelegate interface">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../objectstyle-javadoc.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="DataContextDelegate (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/access/DataContext.html" title="class in org.objectstyle.cayenne.access"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/objectstyle/cayenne/access/DataContextFactory.html" title="interface in org.objectstyle.cayenne.access"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/objectstyle/cayenne/access/DataContextDelegate.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DataContextDelegate.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&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.access</FONT>
<BR>
Interface DataContextDelegate</H2>
<HR>
<DL>
<DT><PRE>public interface <B>DataContextDelegate</B></DL>
</PRE>
<P>
Defines API for a DataContext "delegate" - an object that is temporarily passed control
by DataContext at some critical points in the normal flow of execution. A delegate thus
can modify the flow, abort an operation, modify the objects participating in an
operation, or perform any other tasks it deems necessary. DataContextDelegate is shared
by DataContext and its ObjectStore.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
<DT><B>Author:</B></DT>
<DD>Mike Kienenberger, Andrus Adamchik</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access"><CODE>DataContext</CODE></A></DL>
<HR>
<P>
<!-- ========== 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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/DataContextDelegate.html#finishedMergeChanges(org.objectstyle.cayenne.DataObject)">finishedMergeChanges</A></B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;object)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called after a successful merging of external changes to an object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/DataContextDelegate.html#finishedProcessDelete(org.objectstyle.cayenne.DataObject)">finishedProcessDelete</A></B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;object)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called after a successful processing of externally deleted object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/DataContextDelegate.html#shouldMergeChanges(org.objectstyle.cayenne.DataObject, org.objectstyle.cayenne.DataRow)">shouldMergeChanges</A></B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;object,
<A HREF="../../../../org/objectstyle/cayenne/DataRow.html" title="class in org.objectstyle.cayenne">DataRow</A>&nbsp;snapshotInStore)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked by parent DataContext whenever an object change is detected.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/DataContextDelegate.html#shouldProcessDelete(org.objectstyle.cayenne.DataObject)">shouldProcessDelete</A></B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;object)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked by ObjectStore whenever it is detected that a database row was deleted for
object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/objectstyle/cayenne/query/Query.html" title="interface in org.objectstyle.cayenne.query">Query</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/DataContextDelegate.html#willPerformGenericQuery(org.objectstyle.cayenne.access.DataContext, org.objectstyle.cayenne.query.Query)">willPerformGenericQuery</A></B>(<A HREF="../../../../org/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access">DataContext</A>&nbsp;context,
<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;Invoked before a Query is executed via <em>DataContext.performGenericQuery</em>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/objectstyle/cayenne/query/Query.html" title="interface in org.objectstyle.cayenne.query">Query</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/DataContextDelegate.html#willPerformQuery(org.objectstyle.cayenne.access.DataContext, org.objectstyle.cayenne.query.Query)">willPerformQuery</A></B>(<A HREF="../../../../org/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access">DataContext</A>&nbsp;context,
<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;Invoked before a Query is executed via <em>DataContext.performQuery</em>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/objectstyle/cayenne/query/GenericSelectQuery.html" title="interface in org.objectstyle.cayenne.query">GenericSelectQuery</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/DataContextDelegate.html#willPerformSelect(org.objectstyle.cayenne.access.DataContext, org.objectstyle.cayenne.query.GenericSelectQuery)">willPerformSelect</A></B>(<A HREF="../../../../org/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access">DataContext</A>&nbsp;context,
<A HREF="../../../../org/objectstyle/cayenne/query/GenericSelectQuery.html" title="interface in org.objectstyle.cayenne.query">GenericSelectQuery</A>&nbsp;query)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2 implement either
<A HREF="../../../../org/objectstyle/cayenne/access/DataContextDelegate.html#willPerformQuery(org.objectstyle.cayenne.access.DataContext, org.objectstyle.cayenne.query.Query)"><CODE>willPerformQuery(DataContext, Query)</CODE></A> or
<A HREF="../../../../org/objectstyle/cayenne/access/DataContextDelegate.html#willPerformGenericQuery(org.objectstyle.cayenne.access.DataContext, org.objectstyle.cayenne.query.Query)"><CODE>willPerformGenericQuery(DataContext, Query)</CODE></A>.</I></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ 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="willPerformSelect(org.objectstyle.cayenne.access.DataContext, org.objectstyle.cayenne.query.GenericSelectQuery)"><!-- --></A><H3>
willPerformSelect</H3>
<PRE>
<A HREF="../../../../org/objectstyle/cayenne/query/GenericSelectQuery.html" title="interface in org.objectstyle.cayenne.query">GenericSelectQuery</A> <B>willPerformSelect</B>(<A HREF="../../../../org/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access">DataContext</A>&nbsp;context,
<A HREF="../../../../org/objectstyle/cayenne/query/GenericSelectQuery.html" title="interface in org.objectstyle.cayenne.query">GenericSelectQuery</A>&nbsp;query)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2 implement either
<A HREF="../../../../org/objectstyle/cayenne/access/DataContextDelegate.html#willPerformQuery(org.objectstyle.cayenne.access.DataContext, org.objectstyle.cayenne.query.Query)"><CODE>willPerformQuery(DataContext, Query)</CODE></A> or
<A HREF="../../../../org/objectstyle/cayenne/access/DataContextDelegate.html#willPerformGenericQuery(org.objectstyle.cayenne.access.DataContext, org.objectstyle.cayenne.query.Query)"><CODE>willPerformGenericQuery(DataContext, Query)</CODE></A>.</I>
<P>
<DD>Invoked before a <code>GenericSelectQuery</code> is executed. The delegate may
modify the <code>GenericSelectQuery</code> by returning a different
<code>GenericSelectQuery</code>, or may return null to discard the query.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>the original or modified <code>GenericSelectQuery</code> or null to
discard the query.</DL>
</DD>
</DL>
<HR>
<A NAME="willPerformQuery(org.objectstyle.cayenne.access.DataContext, org.objectstyle.cayenne.query.Query)"><!-- --></A><H3>
willPerformQuery</H3>
<PRE>
<A HREF="../../../../org/objectstyle/cayenne/query/Query.html" title="interface in org.objectstyle.cayenne.query">Query</A> <B>willPerformQuery</B>(<A HREF="../../../../org/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access">DataContext</A>&nbsp;context,
<A HREF="../../../../org/objectstyle/cayenne/query/Query.html" title="interface in org.objectstyle.cayenne.query">Query</A>&nbsp;query)</PRE>
<DL>
<DD>Invoked before a Query is executed via <em>DataContext.performQuery</em>. The
delegate may subsitute the Query with a different one or may return null to discard
the query.
<P>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="willPerformGenericQuery(org.objectstyle.cayenne.access.DataContext, org.objectstyle.cayenne.query.Query)"><!-- --></A><H3>
willPerformGenericQuery</H3>
<PRE>
<A HREF="../../../../org/objectstyle/cayenne/query/Query.html" title="interface in org.objectstyle.cayenne.query">Query</A> <B>willPerformGenericQuery</B>(<A HREF="../../../../org/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access">DataContext</A>&nbsp;context,
<A HREF="../../../../org/objectstyle/cayenne/query/Query.html" title="interface in org.objectstyle.cayenne.query">Query</A>&nbsp;query)</PRE>
<DL>
<DD>Invoked before a Query is executed via <em>DataContext.performGenericQuery</em>.
The delegate may subsitute the Query with a different one or may return null to
discard the query.
<P>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="shouldMergeChanges(org.objectstyle.cayenne.DataObject, org.objectstyle.cayenne.DataRow)"><!-- --></A><H3>
shouldMergeChanges</H3>
<PRE>
boolean <B>shouldMergeChanges</B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;object,
<A HREF="../../../../org/objectstyle/cayenne/DataRow.html" title="class in org.objectstyle.cayenne">DataRow</A>&nbsp;snapshotInStore)</PRE>
<DL>
<DD>Invoked by parent DataContext whenever an object change is detected. This can be a
change to the object snapshot, or a modification of an "independent" relationship
not resulting in a snapshot change. In the later case snapshot argument may be
null. If a delegate returns <code>true</code>, ObjectStore will attempt to merge
the changes into an object.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="finishedMergeChanges(org.objectstyle.cayenne.DataObject)"><!-- --></A><H3>
finishedMergeChanges</H3>
<PRE>
void <B>finishedMergeChanges</B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;object)</PRE>
<DL>
<DD>Called after a successful merging of external changes to an object. If previosly a
delegate returned <code>false</code> from
<A HREF="../../../../org/objectstyle/cayenne/access/DataContextDelegate.html#shouldMergeChanges(org.objectstyle.cayenne.DataObject, org.objectstyle.cayenne.DataRow)"><CODE>shouldMergeChanges(DataObject, DataRow)</CODE></A>, this method is not invoked,
since changes were not merged.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="shouldProcessDelete(org.objectstyle.cayenne.DataObject)"><!-- --></A><H3>
shouldProcessDelete</H3>
<PRE>
boolean <B>shouldProcessDelete</B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;object)</PRE>
<DL>
<DD>Invoked by ObjectStore whenever it is detected that a database row was deleted for
object. If a delegate returns <code>true</code>, ObjectStore will change
MODIFIED objects to NEW (resulting in recreating the deleted record on next commit)
and all other objects - to TRANSIENT. To block this behavior, delegate should
return <code>false</code>, and possibly do its own processing.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>object</CODE> - DataObject that was deleted externally and is still present in the
ObjectStore associated with the delegate.</DL>
</DD>
</DL>
<HR>
<A NAME="finishedProcessDelete(org.objectstyle.cayenne.DataObject)"><!-- --></A><H3>
finishedProcessDelete</H3>
<PRE>
void <B>finishedProcessDelete</B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;object)</PRE>
<DL>
<DD>Called after a successful processing of externally deleted object. If previosly a
delegate returned <code>false</code> from
<A HREF="../../../../org/objectstyle/cayenne/access/DataContextDelegate.html#shouldProcessDelete(org.objectstyle.cayenne.DataObject)"><CODE>shouldProcessDelete(DataObject)</CODE></A>, this method is not invoked, since no
processing was done.
<P>
<DD><DL>
</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/access/DataContext.html" title="class in org.objectstyle.cayenne.access"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/objectstyle/cayenne/access/DataContextFactory.html" title="interface in org.objectstyle.cayenne.access"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/objectstyle/cayenne/access/DataContextDelegate.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DataContextDelegate.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&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>