blob: 366f57468e0073f5a066bad6d43d650f67d9dbfd [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>
ObjectStore (Cayenne API Documentation - v.1.2)
</TITLE>
<META NAME="keywords" CONTENT="org.objectstyle.cayenne.access.ObjectStore class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../objectstyle-javadoc.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="ObjectStore (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/IncrementalFaultList.html" title="class in org.objectstyle.cayenne.access"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/objectstyle/cayenne/access/OperationHints.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/ObjectStore.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ObjectStore.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.objectstyle.cayenne.access</FONT>
<BR>
Class ObjectStore</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.objectstyle.cayenne.access.ObjectStore</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, java.util.EventListener, <A HREF="../../../../org/objectstyle/cayenne/access/event/SnapshotEventListener.html" title="interface in org.objectstyle.cayenne.access.event">SnapshotEventListener</A>, <A HREF="../../../../org/objectstyle/cayenne/graph/GraphChangeHandler.html" title="interface in org.objectstyle.cayenne.graph">GraphChangeHandler</A>, <A HREF="../../../../org/objectstyle/cayenne/graph/GraphManager.html" title="interface in org.objectstyle.cayenne.graph">GraphManager</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>ObjectStore</B><DT>extends java.lang.Object<DT>implements java.io.Serializable, <A HREF="../../../../org/objectstyle/cayenne/access/event/SnapshotEventListener.html" title="interface in org.objectstyle.cayenne.access.event">SnapshotEventListener</A>, <A HREF="../../../../org/objectstyle/cayenne/graph/GraphManager.html" title="interface in org.objectstyle.cayenne.graph">GraphManager</A></DL>
</PRE>
<P>
ObjectStore stores objects using their ObjectId as a key. It works as a dedicated
object cache for a DataContext. Users rarely need to access ObjectStore directly, as
DataContext serves as a facade, providing cover methods for most ObjectStore
operations.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>1.0</DD>
<DT><B>Author:</B></DT>
<DD>Andrus Adamchik</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.objectstyle.cayenne.access.ObjectStore">Serialized Form</A></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;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#changes">changes</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/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access">DataContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#context">context</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The DataContext that owns this ObjectStore.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/objectstyle/cayenne/access/DataRowStore.html" title="class in org.objectstyle.cayenne.access">DataRowStore</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#dataRowCache">dataRowCache</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stores a reference to the DataRowStore.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#newObjectsMap">newObjectsMap</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;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#objectMap">objectMap</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;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#queryResultMap">queryResultMap</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/objectstyle/cayenne/access/ObjectStore.html#ObjectStore()">ObjectStore</A></B>()</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/objectstyle/cayenne/access/ObjectStore.html#ObjectStore(org.objectstyle.cayenne.access.DataRowStore)">ObjectStore</A></B>(<A HREF="../../../../org/objectstyle/cayenne/access/DataRowStore.html" title="class in org.objectstyle.cayenne.access">DataRowStore</A>&nbsp;dataRowCache)</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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#addObject(org.objectstyle.cayenne.DataObject)">addObject</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;<B>Deprecated.</B>&nbsp;<I>since 1.2 as a different change tracking algorithm is used.</I></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/ObjectStore.html#arcCreated(java.lang.Object, java.lang.Object, java.lang.Object)">arcCreated</A></B>(java.lang.Object&nbsp;nodeId,
java.lang.Object&nbsp;targetNodeId,
java.lang.Object&nbsp;arcId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</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/ObjectStore.html#arcDeleted(java.lang.Object, java.lang.Object, java.lang.Object)">arcDeleted</A></B>(java.lang.Object&nbsp;nodeId,
java.lang.Object&nbsp;targetNodeId,
java.lang.Object&nbsp;arcId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#cachedQueriesCount()">cachedQueriesCount</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a number of query results cached by this object store.</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/ObjectStore.html#cacheQueryResult(java.lang.String, java.util.List)">cacheQueryResult</A></B>(java.lang.String&nbsp;name,
java.util.List&nbsp;results)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Caches a list of query results.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getCachedQueryResult(java.lang.String)">getCachedQueryResult</A></B>(java.lang.String&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns cached query results for a given query, or null if no results are cached.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/objectstyle/cayenne/DataRow.html" title="class in org.objectstyle.cayenne">DataRow</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getCachedSnapshot(org.objectstyle.cayenne.ObjectId)">getCachedSnapshot</A></B>(<A HREF="../../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;oid)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a snapshot for ObjectId from the underlying snapshot cache.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access">DataContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getContext()">getContext</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>&nbsp;<A HREF="../../../../org/objectstyle/cayenne/access/DataRowStore.html" title="class in org.objectstyle.cayenne.access">DataRowStore</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getDataRowCache()">getDataRowCache</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a DataRowStore associated with this ObjectStore.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getNode(java.lang.Object)">getNode</A></B>(java.lang.Object&nbsp;nodeId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a registered DataObject or null of no object exists for the ObjectId.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getObject(org.objectstyle.cayenne.ObjectId)">getObject</A></B>(<A HREF="../../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;id)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2 a GraphManager <A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getNode(java.lang.Object)"><CODE>getNode(Object)</CODE></A> method should be
used.</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Iterator</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getObjectIterator()">getObjectIterator</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an iterator over the registered objects.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getObjects()">getObjects</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2 use GraphManager method <A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#registeredNodes()"><CODE>registeredNodes()</CODE></A>.</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/objectstyle/cayenne/DataRow.html" title="class in org.objectstyle.cayenne">DataRow</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getSnapshot(org.objectstyle.cayenne.ObjectId)">getSnapshot</A></B>(<A HREF="../../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;oid)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a snapshot for ObjectId from the underlying snapshot cache.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/objectstyle/cayenne/DataRow.html" title="class in org.objectstyle.cayenne">DataRow</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getSnapshot(org.objectstyle.cayenne.ObjectId, org.objectstyle.cayenne.access.QueryEngine)">getSnapshot</A></B>(<A HREF="../../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;oid,
<A HREF="../../../../org/objectstyle/cayenne/access/QueryEngine.html" title="interface in org.objectstyle.cayenne.access">QueryEngine</A>&nbsp;engine)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2. Use <A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getSnapshot(org.objectstyle.cayenne.ObjectId)"><CODE>getSnapshot(ObjectId)</CODE></A> instead.</I></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/ObjectStore.html#graphCommitAborted()">graphCommitAborted</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</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/ObjectStore.html#graphCommitStarted()">graphCommitStarted</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</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/ObjectStore.html#graphCommitted()">graphCommitted</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</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/ObjectStore.html#graphRolledback()">graphRolledback</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</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/ObjectStore.html#hasChanges()">hasChanges</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if there are any modified, deleted or new objects
registered with this ObjectStore, <code>false</code> otherwise.</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/ObjectStore.html#nodeCreated(java.lang.Object)">nodeCreated</A></B>(java.lang.Object&nbsp;nodeId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</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/ObjectStore.html#nodeIdChanged(java.lang.Object, java.lang.Object)">nodeIdChanged</A></B>(java.lang.Object&nbsp;nodeId,
java.lang.Object&nbsp;newId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</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/ObjectStore.html#nodePropertyChanged(java.lang.Object, java.lang.String, java.lang.Object, java.lang.Object)">nodePropertyChanged</A></B>(java.lang.Object&nbsp;nodeId,
java.lang.String&nbsp;property,
java.lang.Object&nbsp;oldValue,
java.lang.Object&nbsp;newValue)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</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/ObjectStore.html#nodeRemoved(java.lang.Object)">nodeRemoved</A></B>(java.lang.Object&nbsp;nodeId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</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/ObjectStore.html#objectRelationshipSet(org.objectstyle.cayenne.DataObject, org.objectstyle.cayenne.DataObject, org.objectstyle.cayenne.map.ObjRelationship, boolean)">objectRelationshipSet</A></B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;source,
<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;target,
<A HREF="../../../../org/objectstyle/cayenne/map/ObjRelationship.html" title="class in org.objectstyle.cayenne.map">ObjRelationship</A>&nbsp;relationship,
boolean&nbsp;processFlattened)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2 use <A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#recordArcCreated(org.objectstyle.cayenne.Persistent, org.objectstyle.cayenne.ObjectId, java.lang.String)"><CODE>recordArcCreated(Persistent, ObjectId, String)</CODE></A>.</I></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/ObjectStore.html#objectRelationshipUnset(org.objectstyle.cayenne.DataObject, org.objectstyle.cayenne.DataObject, org.objectstyle.cayenne.map.ObjRelationship, boolean)">objectRelationshipUnset</A></B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;source,
<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;target,
<A HREF="../../../../org/objectstyle/cayenne/map/ObjRelationship.html" title="class in org.objectstyle.cayenne.map">ObjRelationship</A>&nbsp;relationship,
boolean&nbsp;processFlattened)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2 use <A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#recordArcDeleted(org.objectstyle.cayenne.Persistent, org.objectstyle.cayenne.ObjectId, java.lang.String)"><CODE>recordArcDeleted(Persistent, ObjectId, String)</CODE></A>.</I></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/ObjectStore.html#objectsCommitted()">objectsCommitted</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2 unused.</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#objectsInState(int)">objectsInState</A></B>(int&nbsp;state)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a subset of registered objects that are in a certian persistence state.</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/ObjectStore.html#objectsInvalidated(java.util.Collection)">objectsInvalidated</A></B>(java.util.Collection&nbsp;objects)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invalidates a collection of DataObjects.</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/ObjectStore.html#objectsRolledBack()">objectsRolledBack</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reverts changes to all stored uncomitted objects.</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/ObjectStore.html#objectsUnregistered(java.util.Collection)">objectsUnregistered</A></B>(java.util.Collection&nbsp;objects)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evicts a collection of DataObjects from the ObjectStore, invalidates the underlying
cache snapshots.</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/ObjectStore.html#recordArcCreated(org.objectstyle.cayenne.Persistent, org.objectstyle.cayenne.ObjectId, java.lang.String)">recordArcCreated</A></B>(<A HREF="../../../../org/objectstyle/cayenne/Persistent.html" title="interface in org.objectstyle.cayenne">Persistent</A>&nbsp;object,
<A HREF="../../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;targetId,
java.lang.String&nbsp;relationshipName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs tracking of object relationship changes.</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/ObjectStore.html#recordArcDeleted(org.objectstyle.cayenne.Persistent, org.objectstyle.cayenne.ObjectId, java.lang.String)">recordArcDeleted</A></B>(<A HREF="../../../../org/objectstyle/cayenne/Persistent.html" title="interface in org.objectstyle.cayenne">Persistent</A>&nbsp;object,
<A HREF="../../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;targetId,
java.lang.String&nbsp;relationshipName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs tracking of object relationship changes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Collection</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#registeredNodes()">registeredNodes</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all registered DataObjects.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#registeredObjectsCount()">registeredObjectsCount</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a number of objects currently registered with this ObjectStore.</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/ObjectStore.html#registerNode(java.lang.Object, java.lang.Object)">registerNode</A></B>(java.lang.Object&nbsp;nodeId,
java.lang.Object&nbsp;nodeObject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Registers" a graph node, usually striong the node in some internal map using its
id as a key.</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/ObjectStore.html#resolveHollow(org.objectstyle.cayenne.DataObject)">resolveHollow</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;Initializes object with data from cache or from the database, if this object is not
fully resolved.</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/ObjectStore.html#setContext(org.objectstyle.cayenne.access.DataContext)">setContext</A></B>(<A HREF="../../../../org/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access">DataContext</A>&nbsp;context)</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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#setDataRowCache(org.objectstyle.cayenne.access.DataRowStore)">setDataRowCache</A></B>(<A HREF="../../../../org/objectstyle/cayenne/access/DataRowStore.html" title="class in org.objectstyle.cayenne.access">DataRowStore</A>&nbsp;dataRowCache)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets parent DataRowStore.</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/ObjectStore.html#snapshotsChanged(org.objectstyle.cayenne.access.event.SnapshotEvent)">snapshotsChanged</A></B>(<A HREF="../../../../org/objectstyle/cayenne/access/event/SnapshotEvent.html" title="class in org.objectstyle.cayenne.access.event">SnapshotEvent</A>&nbsp;event)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SnapshotEventListener implementation that processes snapshot change event, updating
DataObjects that have the changes.</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/ObjectStore.html#snapshotsUpdatedForObjects(java.util.List, java.util.List, boolean)">snapshotsUpdatedForObjects</A></B>(java.util.List&nbsp;objects,
java.util.List&nbsp;snapshots,
boolean&nbsp;refresh)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Updates snapshots in the underlying DataRowStore.</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/ObjectStore.html#startTrackingNewObjects()">startTrackingNewObjects</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts tracking the registration of new objects from this ObjectStore.</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/ObjectStore.html#unregisterNewObjects()">unregisterNewObjects</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unregisters the newly registered DataObjects from this objectStore.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#unregisterNode(java.lang.Object)">unregisterNode</A></B>(java.lang.Object&nbsp;nodeId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Unregisters" a graph node, forgetting any information associated with nodeId.</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/ObjectStore.html#validateUncommittedObjects()">validateUncommittedObjects</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2 - This method is no longer used in Cayenne internally.</I></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.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="newObjectsMap"><!-- --></A><H3>
newObjectsMap</H3>
<PRE>
protected transient java.util.Map <B>newObjectsMap</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="objectMap"><!-- --></A><H3>
objectMap</H3>
<PRE>
protected java.util.Map <B>objectMap</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="queryResultMap"><!-- --></A><H3>
queryResultMap</H3>
<PRE>
protected java.util.Map <B>queryResultMap</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="changes"><!-- --></A><H3>
changes</H3>
<PRE>
protected java.util.Map <B>changes</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="dataRowCache"><!-- --></A><H3>
dataRowCache</H3>
<PRE>
protected transient <A HREF="../../../../org/objectstyle/cayenne/access/DataRowStore.html" title="class in org.objectstyle.cayenne.access">DataRowStore</A> <B>dataRowCache</B></PRE>
<DL>
<DD>Stores a reference to the DataRowStore.
<p>
<i>Serialization note: </i> It is up to the owner of this ObjectStore to initialize
DataRowStore after deserialization of this object. ObjectStore will not know how to
restore the DataRowStore by itself.
</p>
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="context"><!-- --></A><H3>
context</H3>
<PRE>
protected <A HREF="../../../../org/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access">DataContext</A> <B>context</B></PRE>
<DL>
<DD>The DataContext that owns this ObjectStore.
<P>
<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="ObjectStore()"><!-- --></A><H3>
ObjectStore</H3>
<PRE>
public <B>ObjectStore</B>()</PRE>
<DL>
</DL>
<HR>
<A NAME="ObjectStore(org.objectstyle.cayenne.access.DataRowStore)"><!-- --></A><H3>
ObjectStore</H3>
<PRE>
public <B>ObjectStore</B>(<A HREF="../../../../org/objectstyle/cayenne/access/DataRowStore.html" title="class in org.objectstyle.cayenne.access">DataRowStore</A>&nbsp;dataRowCache)</PRE>
<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="recordArcCreated(org.objectstyle.cayenne.Persistent, org.objectstyle.cayenne.ObjectId, java.lang.String)"><!-- --></A><H3>
recordArcCreated</H3>
<PRE>
public void <B>recordArcCreated</B>(<A HREF="../../../../org/objectstyle/cayenne/Persistent.html" title="interface in org.objectstyle.cayenne">Persistent</A>&nbsp;object,
<A HREF="../../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;targetId,
java.lang.String&nbsp;relationshipName)</PRE>
<DL>
<DD>Performs tracking of object relationship changes.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="recordArcDeleted(org.objectstyle.cayenne.Persistent, org.objectstyle.cayenne.ObjectId, java.lang.String)"><!-- --></A><H3>
recordArcDeleted</H3>
<PRE>
public void <B>recordArcDeleted</B>(<A HREF="../../../../org/objectstyle/cayenne/Persistent.html" title="interface in org.objectstyle.cayenne">Persistent</A>&nbsp;object,
<A HREF="../../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;targetId,
java.lang.String&nbsp;relationshipName)</PRE>
<DL>
<DD>Performs tracking of object relationship changes.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="registeredObjectsCount()"><!-- --></A><H3>
registeredObjectsCount</H3>
<PRE>
public int <B>registeredObjectsCount</B>()</PRE>
<DL>
<DD>Returns a number of objects currently registered with this ObjectStore.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="cachedQueriesCount()"><!-- --></A><H3>
cachedQueriesCount</H3>
<PRE>
public int <B>cachedQueriesCount</B>()</PRE>
<DL>
<DD>Returns a number of query results cached by this object store. Note that each
result is a list and can possibly contain a large number of entries.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getDataRowCache()"><!-- --></A><H3>
getDataRowCache</H3>
<PRE>
public <A HREF="../../../../org/objectstyle/cayenne/access/DataRowStore.html" title="class in org.objectstyle.cayenne.access">DataRowStore</A> <B>getDataRowCache</B>()</PRE>
<DL>
<DD>Returns a DataRowStore associated with this ObjectStore.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setDataRowCache(org.objectstyle.cayenne.access.DataRowStore)"><!-- --></A><H3>
setDataRowCache</H3>
<PRE>
public void <B>setDataRowCache</B>(<A HREF="../../../../org/objectstyle/cayenne/access/DataRowStore.html" title="class in org.objectstyle.cayenne.access">DataRowStore</A>&nbsp;dataRowCache)</PRE>
<DL>
<DD>Sets parent DataRowStore. Registers to receive SnapshotEvents if the cache is
configured to allow ObjectStores to receive such events.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="objectsInvalidated(java.util.Collection)"><!-- --></A><H3>
objectsInvalidated</H3>
<PRE>
public void <B>objectsInvalidated</B>(java.util.Collection&nbsp;objects)</PRE>
<DL>
<DD>Invalidates a collection of DataObjects. Changes objects state to HOLLOW.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#objectsUnregistered(java.util.Collection)"><CODE>objectsUnregistered(Collection)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="objectsUnregistered(java.util.Collection)"><!-- --></A><H3>
objectsUnregistered</H3>
<PRE>
public void <B>objectsUnregistered</B>(java.util.Collection&nbsp;objects)</PRE>
<DL>
<DD>Evicts a collection of DataObjects from the ObjectStore, invalidates the underlying
cache snapshots. Changes objects state to TRANSIENT. This method can be used for
manual cleanup of Cayenne cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#objectsInvalidated(java.util.Collection)"><CODE>objectsInvalidated(Collection)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="objectsRolledBack()"><!-- --></A><H3>
objectsRolledBack</H3>
<PRE>
public void <B>objectsRolledBack</B>()</PRE>
<DL>
<DD>Reverts changes to all stored uncomitted objects.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="objectRelationshipUnset(org.objectstyle.cayenne.DataObject, org.objectstyle.cayenne.DataObject, org.objectstyle.cayenne.map.ObjRelationship, boolean)"><!-- --></A><H3>
objectRelationshipUnset</H3>
<PRE>
public void <B>objectRelationshipUnset</B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;source,
<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;target,
<A HREF="../../../../org/objectstyle/cayenne/map/ObjRelationship.html" title="class in org.objectstyle.cayenne.map">ObjRelationship</A>&nbsp;relationship,
boolean&nbsp;processFlattened)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2 use <A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#recordArcDeleted(org.objectstyle.cayenne.Persistent, org.objectstyle.cayenne.ObjectId, java.lang.String)"><CODE>recordArcDeleted(Persistent, ObjectId, String)</CODE></A>.</I>
<P>
<DD>Performs tracking of object relationship changes.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="objectRelationshipSet(org.objectstyle.cayenne.DataObject, org.objectstyle.cayenne.DataObject, org.objectstyle.cayenne.map.ObjRelationship, boolean)"><!-- --></A><H3>
objectRelationshipSet</H3>
<PRE>
public void <B>objectRelationshipSet</B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;source,
<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;target,
<A HREF="../../../../org/objectstyle/cayenne/map/ObjRelationship.html" title="class in org.objectstyle.cayenne.map">ObjRelationship</A>&nbsp;relationship,
boolean&nbsp;processFlattened)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2 use <A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#recordArcCreated(org.objectstyle.cayenne.Persistent, org.objectstyle.cayenne.ObjectId, java.lang.String)"><CODE>recordArcCreated(Persistent, ObjectId, String)</CODE></A>.</I>
<P>
<DD>Performs tracking of object relationship changes.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="snapshotsUpdatedForObjects(java.util.List, java.util.List, boolean)"><!-- --></A><H3>
snapshotsUpdatedForObjects</H3>
<PRE>
public void <B>snapshotsUpdatedForObjects</B>(java.util.List&nbsp;objects,
java.util.List&nbsp;snapshots,
boolean&nbsp;refresh)</PRE>
<DL>
<DD>Updates snapshots in the underlying DataRowStore. If <code>refresh</code> is
true, all snapshots in <code>snapshots</code> will be loaded into DataRowStore,
regardless of the existing cache state. If <code>refresh</code> is false, only
missing snapshots are loaded. This method is normally called internally by the
DataContext owning the ObjectStore to update the caches after a select query.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>objects</CODE> - a list of object whose snapshots need to be updated.<DD><CODE>snapshots</CODE> - a list of snapshots. Must be of the same length and use the same
order as <code>objects</code> list.<DD><CODE>refresh</CODE> - controls whether existing cached snapshots should be replaced with
the new ones.<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="objectsCommitted()"><!-- --></A><H3>
objectsCommitted</H3>
<PRE>
public void <B>objectsCommitted</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2 unused.</I>
<P>
<DD>Processes internal objects after the parent DataContext was committed. Changes
object persistence state and handles snapshot updates.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="addObject(org.objectstyle.cayenne.DataObject)"><!-- --></A><H3>
addObject</H3>
<PRE>
public void <B>addObject</B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;object)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2 as a different change tracking algorithm is used.</I>
<P>
<DD>Adds a new object to the ObjectStore.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="startTrackingNewObjects()"><!-- --></A><H3>
startTrackingNewObjects</H3>
<PRE>
public void <B>startTrackingNewObjects</B>()</PRE>
<DL>
<DD>Starts tracking the registration of new objects from this ObjectStore. Used in
conjunction with unregisterNewObjects() to control garbage collection when an
instance of ObjectStore is used over a longer time for batch processing.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#unregisterNewObjects()"><CODE>unregisterNewObjects()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="unregisterNewObjects()"><!-- --></A><H3>
unregisterNewObjects</H3>
<PRE>
public void <B>unregisterNewObjects</B>()</PRE>
<DL>
<DD>Unregisters the newly registered DataObjects from this objectStore. Used in
conjunction with startTrackingNewObjects() to control garbage collection when an
instance of ObjectStore is used over a longer time for batch processing.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#startTrackingNewObjects()"><CODE>startTrackingNewObjects()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getObject(org.objectstyle.cayenne.ObjectId)"><!-- --></A><H3>
getObject</H3>
<PRE>
public <A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A> <B>getObject</B>(<A HREF="../../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;id)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2 a GraphManager <A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getNode(java.lang.Object)"><CODE>getNode(Object)</CODE></A> method should be
used.</I>
<P>
<DD>Returns a DataObject registered for a given ObjectId, or null if no such object
exists. This method does not do a database fetch.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getCachedSnapshot(org.objectstyle.cayenne.ObjectId)"><!-- --></A><H3>
getCachedSnapshot</H3>
<PRE>
public <A HREF="../../../../org/objectstyle/cayenne/DataRow.html" title="class in org.objectstyle.cayenne">DataRow</A> <B>getCachedSnapshot</B>(<A HREF="../../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;oid)</PRE>
<DL>
<DD>Returns a snapshot for ObjectId from the underlying snapshot cache. If cache
contains no snapshot, a null is returned.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getCachedQueryResult(java.lang.String)"><!-- --></A><H3>
getCachedQueryResult</H3>
<PRE>
public java.util.List <B>getCachedQueryResult</B>(java.lang.String&nbsp;name)</PRE>
<DL>
<DD>Returns cached query results for a given query, or null if no results are cached.
Note that ObjectStore will only lookup results in its local cache, and not the
shared cache associated with the underlying DataRowStore.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="cacheQueryResult(java.lang.String, java.util.List)"><!-- --></A><H3>
cacheQueryResult</H3>
<PRE>
public void <B>cacheQueryResult</B>(java.lang.String&nbsp;name,
java.util.List&nbsp;results)</PRE>
<DL>
<DD>Caches a list of query results.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getSnapshot(org.objectstyle.cayenne.ObjectId, org.objectstyle.cayenne.access.QueryEngine)"><!-- --></A><H3>
getSnapshot</H3>
<PRE>
public <A HREF="../../../../org/objectstyle/cayenne/DataRow.html" title="class in org.objectstyle.cayenne">DataRow</A> <B>getSnapshot</B>(<A HREF="../../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;oid,
<A HREF="../../../../org/objectstyle/cayenne/access/QueryEngine.html" title="interface in org.objectstyle.cayenne.access">QueryEngine</A>&nbsp;engine)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2. Use <A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#getSnapshot(org.objectstyle.cayenne.ObjectId)"><CODE>getSnapshot(ObjectId)</CODE></A> instead.</I>
<P>
<DD>Returns a snapshot for ObjectId from the underlying snapshot cache. If cache
contains no snapshot, it will attempt fetching it using provided QueryEngine. If
fetch attempt fails or inconsistent data is returned, underlying cache will throw a
CayenneRuntimeException.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getSnapshot(org.objectstyle.cayenne.ObjectId)"><!-- --></A><H3>
getSnapshot</H3>
<PRE>
public <A HREF="../../../../org/objectstyle/cayenne/DataRow.html" title="class in org.objectstyle.cayenne">DataRow</A> <B>getSnapshot</B>(<A HREF="../../../../org/objectstyle/cayenne/ObjectId.html" title="class in org.objectstyle.cayenne">ObjectId</A>&nbsp;oid)</PRE>
<DL>
<DD>Returns a snapshot for ObjectId from the underlying snapshot cache. If cache
contains no snapshot, it will attempt fetching it using provided QueryEngine. If
fetch attempt fails or inconsistent data is returned, underlying cache will throw a
CayenneRuntimeException.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getObjects()"><!-- --></A><H3>
getObjects</H3>
<PRE>
public java.util.List <B>getObjects</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2 use GraphManager method <A HREF="../../../../org/objectstyle/cayenne/access/ObjectStore.html#registeredNodes()"><CODE>registeredNodes()</CODE></A>.</I>
<P>
<DD>Returns a list of objects that are registered with this DataContext, regardless of
their persistence state. List is returned by copy and can be modified by the
caller.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getObjectIterator()"><!-- --></A><H3>
getObjectIterator</H3>
<PRE>
public java.util.Iterator <B>getObjectIterator</B>()</PRE>
<DL>
<DD>Returns an iterator over the registered objects.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="hasChanges()"><!-- --></A><H3>
hasChanges</H3>
<PRE>
public boolean <B>hasChanges</B>()</PRE>
<DL>
<DD>Returns <code>true</code> if there are any modified, deleted or new objects
registered with this ObjectStore, <code>false</code> otherwise. This method will
treat "phantom" modifications are real ones. I.e. if you "change" an object
property to an equivalent value, this method will still think such object is
modified. Phantom modifications are only detected and discarded during commit.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="objectsInState(int)"><!-- --></A><H3>
objectsInState</H3>
<PRE>
public java.util.List <B>objectsInState</B>(int&nbsp;state)</PRE>
<DL>
<DD>Return a subset of registered objects that are in a certian persistence state.
Collection is returned by copy.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="snapshotsChanged(org.objectstyle.cayenne.access.event.SnapshotEvent)"><!-- --></A><H3>
snapshotsChanged</H3>
<PRE>
public void <B>snapshotsChanged</B>(<A HREF="../../../../org/objectstyle/cayenne/access/event/SnapshotEvent.html" title="class in org.objectstyle.cayenne.access.event">SnapshotEvent</A>&nbsp;event)</PRE>
<DL>
<DD>SnapshotEventListener implementation that processes snapshot change event, updating
DataObjects that have the changes.
<p>
<i>Implementation note: </i> This method should not attempt to alter the underlying
DataRowStore, since it is normally invoked *AFTER* the DataRowStore was modified as
a result of some external interaction.
</p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/access/event/SnapshotEventListener.html#snapshotsChanged(org.objectstyle.cayenne.access.event.SnapshotEvent)">snapshotsChanged</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/access/event/SnapshotEventListener.html" title="interface in org.objectstyle.cayenne.access.event">SnapshotEventListener</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="validateUncommittedObjects()"><!-- --></A><H3>
validateUncommittedObjects</H3>
<PRE>
public void <B>validateUncommittedObjects</B>()
throws <A HREF="../../../../org/objectstyle/cayenne/validation/ValidationException.html" title="class in org.objectstyle.cayenne.validation">ValidationException</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2 - This method is no longer used in Cayenne internally.</I>
<P>
<DD>Performs validation of all uncommitted objects in the ObjectStore. If validation
fails, a ValidationException is thrown, listing all encountered failures. This is a
utility method for the users to call. Cayenne itself uses a different mechanism to
validate objects on commit.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/objectstyle/cayenne/validation/ValidationException.html" title="class in org.objectstyle.cayenne.validation">ValidationException</A></CODE><DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="resolveHollow(org.objectstyle.cayenne.DataObject)"><!-- --></A><H3>
resolveHollow</H3>
<PRE>
public void <B>resolveHollow</B>(<A HREF="../../../../org/objectstyle/cayenne/DataObject.html" title="interface in org.objectstyle.cayenne">DataObject</A>&nbsp;object)</PRE>
<DL>
<DD>Initializes object with data from cache or from the database, if this object is not
fully resolved.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getContext()"><!-- --></A><H3>
getContext</H3>
<PRE>
public <A HREF="../../../../org/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access">DataContext</A> <B>getContext</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="setContext(org.objectstyle.cayenne.access.DataContext)"><!-- --></A><H3>
setContext</H3>
<PRE>
public void <B>setContext</B>(<A HREF="../../../../org/objectstyle/cayenne/access/DataContext.html" title="class in org.objectstyle.cayenne.access">DataContext</A>&nbsp;context)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getNode(java.lang.Object)"><!-- --></A><H3>
getNode</H3>
<PRE>
public java.lang.Object <B>getNode</B>(java.lang.Object&nbsp;nodeId)</PRE>
<DL>
<DD>Returns a registered DataObject or null of no object exists for the ObjectId.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphManager.html#getNode(java.lang.Object)">getNode</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphManager.html" title="interface in org.objectstyle.cayenne.graph">GraphManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="registeredNodes()"><!-- --></A><H3>
registeredNodes</H3>
<PRE>
public java.util.Collection <B>registeredNodes</B>()</PRE>
<DL>
<DD>Returns all registered DataObjects. List is returned by copy and can be modified by
the caller.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphManager.html#registeredNodes()">registeredNodes</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphManager.html" title="interface in org.objectstyle.cayenne.graph">GraphManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="registerNode(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
registerNode</H3>
<PRE>
public void <B>registerNode</B>(java.lang.Object&nbsp;nodeId,
java.lang.Object&nbsp;nodeObject)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphManager.html#registerNode(java.lang.Object, java.lang.Object)">GraphManager</A></CODE></B></DD>
<DD>"Registers" a graph node, usually striong the node in some internal map using its
id as a key.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphManager.html#registerNode(java.lang.Object, java.lang.Object)">registerNode</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphManager.html" title="interface in org.objectstyle.cayenne.graph">GraphManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="unregisterNode(java.lang.Object)"><!-- --></A><H3>
unregisterNode</H3>
<PRE>
public java.lang.Object <B>unregisterNode</B>(java.lang.Object&nbsp;nodeId)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphManager.html#unregisterNode(java.lang.Object)">GraphManager</A></CODE></B></DD>
<DD>"Unregisters" a graph node, forgetting any information associated with nodeId.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphManager.html#unregisterNode(java.lang.Object)">unregisterNode</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphManager.html" title="interface in org.objectstyle.cayenne.graph">GraphManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="graphCommitAborted()"><!-- --></A><H3>
graphCommitAborted</H3>
<PRE>
public void <B>graphCommitAborted</B>()</PRE>
<DL>
<DD>Does nothing.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="graphCommitStarted()"><!-- --></A><H3>
graphCommitStarted</H3>
<PRE>
public void <B>graphCommitStarted</B>()</PRE>
<DL>
<DD>Does nothing.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="graphCommitted()"><!-- --></A><H3>
graphCommitted</H3>
<PRE>
public void <B>graphCommitted</B>()</PRE>
<DL>
<DD>Does nothing.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="graphRolledback()"><!-- --></A><H3>
graphRolledback</H3>
<PRE>
public void <B>graphRolledback</B>()</PRE>
<DL>
<DD>Does nothing.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="nodeIdChanged(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
nodeIdChanged</H3>
<PRE>
public void <B>nodeIdChanged</B>(java.lang.Object&nbsp;nodeId,
java.lang.Object&nbsp;newId)</PRE>
<DL>
<DD>Does nothing.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphChangeHandler.html#nodeIdChanged(java.lang.Object, java.lang.Object)">nodeIdChanged</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphChangeHandler.html" title="interface in org.objectstyle.cayenne.graph">GraphChangeHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="nodeCreated(java.lang.Object)"><!-- --></A><H3>
nodeCreated</H3>
<PRE>
public void <B>nodeCreated</B>(java.lang.Object&nbsp;nodeId)</PRE>
<DL>
<DD>Does nothing.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphChangeHandler.html#nodeCreated(java.lang.Object)">nodeCreated</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphChangeHandler.html" title="interface in org.objectstyle.cayenne.graph">GraphChangeHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="nodeRemoved(java.lang.Object)"><!-- --></A><H3>
nodeRemoved</H3>
<PRE>
public void <B>nodeRemoved</B>(java.lang.Object&nbsp;nodeId)</PRE>
<DL>
<DD>Does nothing.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphChangeHandler.html#nodeRemoved(java.lang.Object)">nodeRemoved</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphChangeHandler.html" title="interface in org.objectstyle.cayenne.graph">GraphChangeHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="nodePropertyChanged(java.lang.Object, java.lang.String, java.lang.Object, java.lang.Object)"><!-- --></A><H3>
nodePropertyChanged</H3>
<PRE>
public void <B>nodePropertyChanged</B>(java.lang.Object&nbsp;nodeId,
java.lang.String&nbsp;property,
java.lang.Object&nbsp;oldValue,
java.lang.Object&nbsp;newValue)</PRE>
<DL>
<DD>Does nothing.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphChangeHandler.html#nodePropertyChanged(java.lang.Object, java.lang.String, java.lang.Object, java.lang.Object)">nodePropertyChanged</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphChangeHandler.html" title="interface in org.objectstyle.cayenne.graph">GraphChangeHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="arcCreated(java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3>
arcCreated</H3>
<PRE>
public void <B>arcCreated</B>(java.lang.Object&nbsp;nodeId,
java.lang.Object&nbsp;targetNodeId,
java.lang.Object&nbsp;arcId)</PRE>
<DL>
<DD>Does nothing.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphChangeHandler.html#arcCreated(java.lang.Object, java.lang.Object, java.lang.Object)">arcCreated</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphChangeHandler.html" title="interface in org.objectstyle.cayenne.graph">GraphChangeHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="arcDeleted(java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3>
arcDeleted</H3>
<PRE>
public void <B>arcDeleted</B>(java.lang.Object&nbsp;nodeId,
java.lang.Object&nbsp;targetNodeId,
java.lang.Object&nbsp;arcId)</PRE>
<DL>
<DD>Does nothing.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphChangeHandler.html#arcDeleted(java.lang.Object, java.lang.Object, java.lang.Object)">arcDeleted</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/graph/GraphChangeHandler.html" title="interface in org.objectstyle.cayenne.graph">GraphChangeHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</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/IncrementalFaultList.html" title="class in org.objectstyle.cayenne.access"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/objectstyle/cayenne/access/OperationHints.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/ObjectStore.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ObjectStore.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>
<!--@SFLOGO@--> &nbsp; <i>Copyright &#169; 2001-2006 <a href=
"http://objectstyle.org" target="_top">ObjectStyle.org</a> All Rights Reserved.</i>
</BODY>
</HTML>