blob: c6dc153633af3b8627a73b6b282788cfa241f6bf [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Sat Sep 20 17:22:59 FET 2014 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>ObjectStore (Cayenne Documentation 3.1 API)</title>
<meta name="date" content="2014-09-20">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ObjectStore (Cayenne Documentation 3.1 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ObjectStore.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/cayenne/access/ObjectMapRetainStrategy.html" title="interface in org.apache.cayenne.access"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/access/OperationHints.html" title="interface in org.apache.cayenne.access"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cayenne/access/ObjectStore.html" target="_top">Frames</a></li>
<li><a href="ObjectStore.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.cayenne.access</div>
<h2 title="Class ObjectStore" class="title">Class ObjectStore</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.cayenne.access.ObjectStore</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/EventListener.html?is-external=true" title="class or interface in java.util">EventListener</a>, <a href="../../../../org/apache/cayenne/access/event/SnapshotEventListener.html" title="interface in org.apache.cayenne.access.event">SnapshotEventListener</a>, <a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html" title="interface in org.apache.cayenne.graph">GraphChangeHandler</a>, <a href="../../../../org/apache/cayenne/graph/GraphManager.html" title="interface in org.apache.cayenne.graph">GraphManager</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../org/apache/cayenne/access/NoSyncObjectStore.html" title="class in org.apache.cayenne.access">NoSyncObjectStore</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">ObjectStore</span>
extends <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../org/apache/cayenne/access/event/SnapshotEventListener.html" title="interface in org.apache.cayenne.access.event">SnapshotEventListener</a>, <a href="../../../../org/apache/cayenne/graph/GraphManager.html" title="interface in org.apache.cayenne.graph">GraphManager</a></pre>
<div class="block">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.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>1.0</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../serialized-form.html#org.apache.cayenne.access.ObjectStore">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,org.apache.cayenne.access.ObjectDiff&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#changes">changes</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/cayenne/access/DataContext.html" title="class in org.apache.cayenne.access">DataContext</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#context">context</a></strong></code>
<div class="block">The DataContext that owns this ObjectStore.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access">DataRowStore</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#dataRowCache">dataRowCache</a></strong></code>
<div class="block">Stores a reference to the DataRowStore.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#dataRowCacheSet">dataRowCacheSet</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="../../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#objectMap">objectMap</a></strong></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#ObjectStore()">ObjectStore</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>since 3.1</i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#ObjectStore(org.apache.cayenne.access.DataRowStore)">ObjectStore</a></strong>(<a href="../../../../org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access">DataRowStore</a>&nbsp;dataRowCache)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>since 3.1</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#ObjectStore(org.apache.cayenne.access.DataRowStore,%20java.util.Map)">ObjectStore</a></strong>(<a href="../../../../org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access">DataRowStore</a>&nbsp;dataRowCache,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="../../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&gt;&nbsp;objectMap)</code>
<div class="block">Creates an ObjectStore with <a href="../../../../org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access"><code>DataRowStore</code></a> and a map to use for storing
registered objects.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#arcCreated(java.lang.Object,%20java.lang.Object,%20java.lang.Object)">arcCreated</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;targetNodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;arcId)</code>
<div class="block">Notifies implementing object that a new arc was created between two nodes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#arcDeleted(java.lang.Object,%20java.lang.Object,%20java.lang.Object)">arcDeleted</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;targetNodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;arcId)</code>
<div class="block">Notifies implementing object that an arc between two nodes was deleted.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/DataRow.html" title="class in org.apache.cayenne">DataRow</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#getCachedSnapshot(org.apache.cayenne.ObjectId)">getCachedSnapshot</a></strong>(<a href="../../../../org/apache/cayenne/ObjectId.html" title="class in org.apache.cayenne">ObjectId</a>&nbsp;oid)</code>
<div class="block">Returns a snapshot for ObjectId from the underlying snapshot cache.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/access/DataContext.html" title="class in org.apache.cayenne.access">DataContext</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#getContext()">getContext</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access">DataRowStore</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#getDataRowCache()">getDataRowCache</a></strong>()</code>
<div class="block">Returns a DataRowStore associated with this ObjectStore.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#getNode(java.lang.Object)">getNode</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId)</code>
<div class="block">Returns a registered DataObject or null of no object exists for the ObjectId.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#getObjectIterator()">getObjectIterator</a></strong>()</code>
<div class="block">Returns an iterator over the registered objects.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/DataRow.html" title="class in org.apache.cayenne">DataRow</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#getSnapshot(org.apache.cayenne.ObjectId)">getSnapshot</a></strong>(<a href="../../../../org/apache/cayenne/ObjectId.html" title="class in org.apache.cayenne">ObjectId</a>&nbsp;oid)</code>
<div class="block">Returns a snapshot for ObjectId from the underlying snapshot cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#hasChanges()">hasChanges</a></strong>()</code>
<div class="block">Returns <code>true</code> if there are any modified, deleted or new objects
registered with this ObjectStore, <code>false</code> otherwise.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#nodeCreated(java.lang.Object)">nodeCreated</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId)</code>
<div class="block">Notifies implementing object that a new node was created in the graph.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#nodeIdChanged(java.lang.Object,%20java.lang.Object)">nodeIdChanged</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;newId)</code>
<div class="block">Does nothing.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#nodePropertyChanged(java.lang.Object,%20java.lang.String,%20java.lang.Object,%20java.lang.Object)">nodePropertyChanged</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;property,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oldValue,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;newValue)</code>
<div class="block">Records dirty object snapshot.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#nodeRemoved(java.lang.Object)">nodeRemoved</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId)</code>
<div class="block">Notifies implementing object that a node was removed from the graph.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#objectsInState(int)">objectsInState</a></strong>(int&nbsp;state)</code>
<div class="block">Return a subset of registered objects that are in a certain persistence state.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#objectsRolledBack()">objectsRolledBack</a></strong>()</code>
<div class="block">Reverts changes to all stored uncomitted objects.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#objectsUnregistered(java.util.Collection)">objectsUnregistered</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&nbsp;objects)</code>
<div class="block">Evicts a collection of DataObjects from the ObjectStore, invalidates the underlying
cache snapshots.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#registeredNodes()">registeredNodes</a></strong>()</code>
<div class="block">Returns all registered DataObjects.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#registeredObjectsCount()">registeredObjectsCount</a></strong>()</code>
<div class="block">Returns a number of objects currently registered with this ObjectStore.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#registerNode(java.lang.Object,%20java.lang.Object)">registerNode</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeObject)</code>
<div class="block">"Registers" a graph node, usually storing the node in some internal map using its
id as a key.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#setContext(org.apache.cayenne.access.DataContext)">setContext</a></strong>(<a href="../../../../org/apache/cayenne/access/DataContext.html" title="class in org.apache.cayenne.access">DataContext</a>&nbsp;context)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#setDataRowCache(org.apache.cayenne.access.DataRowStore)">setDataRowCache</a></strong>(<a href="../../../../org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access">DataRowStore</a>&nbsp;dataRowCache)</code>
<div class="block">Sets parent DataRowStore.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#snapshotsChanged(org.apache.cayenne.access.event.SnapshotEvent)">snapshotsChanged</a></strong>(<a href="../../../../org/apache/cayenne/access/event/SnapshotEvent.html" title="class in org.apache.cayenne.access.event">SnapshotEvent</a>&nbsp;event)</code>
<div class="block">SnapshotEventListener implementation that processes snapshot change event, updating
DataObjects that have the changes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/access/ObjectStore.html#unregisterNode(java.lang.Object)">unregisterNode</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId)</code>
<div class="block">"Unregisters" a graph node, forgetting any information associated with nodeId.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="objectMap">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>objectMap</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="../../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&gt; objectMap</pre>
</li>
</ul>
<a name="changes">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>changes</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,org.apache.cayenne.access.ObjectDiff&gt; changes</pre>
</li>
</ul>
<a name="dataRowCache">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataRowCache</h4>
<pre>protected transient&nbsp;<a href="../../../../org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access">DataRowStore</a> dataRowCache</pre>
<div class="block">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></div>
</li>
</ul>
<a name="dataRowCacheSet">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataRowCacheSet</h4>
<pre>protected&nbsp;boolean dataRowCacheSet</pre>
</li>
</ul>
<a name="context">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>context</h4>
<pre>protected&nbsp;<a href="../../../../org/apache/cayenne/access/DataContext.html" title="class in org.apache.cayenne.access">DataContext</a> context</pre>
<div class="block">The DataContext that owns this ObjectStore.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ObjectStore()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ObjectStore</h4>
<pre><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;ObjectStore()</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>since 3.1</i></div>
</li>
</ul>
<a name="ObjectStore(org.apache.cayenne.access.DataRowStore)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ObjectStore</h4>
<pre><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;ObjectStore(<a href="../../../../org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access">DataRowStore</a>&nbsp;dataRowCache)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>since 3.1</i></div>
</li>
</ul>
<a name="ObjectStore(org.apache.cayenne.access.DataRowStore, java.util.Map)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ObjectStore</h4>
<pre>public&nbsp;ObjectStore(<a href="../../../../org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access">DataRowStore</a>&nbsp;dataRowCache,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="../../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&gt;&nbsp;objectMap)</pre>
<div class="block">Creates an ObjectStore with <a href="../../../../org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access"><code>DataRowStore</code></a> and a map to use for storing
registered objects. Passed map doesn't require any special synchronization
behavior, as ObjectStore is synchronized itself.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>3.0</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="registeredObjectsCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registeredObjectsCount</h4>
<pre>public&nbsp;int&nbsp;registeredObjectsCount()</pre>
<div class="block">Returns a number of objects currently registered with this ObjectStore.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
<a name="getDataRowCache()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataRowCache</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access">DataRowStore</a>&nbsp;getDataRowCache()</pre>
<div class="block">Returns a DataRowStore associated with this ObjectStore.</div>
</li>
</ul>
<a name="setDataRowCache(org.apache.cayenne.access.DataRowStore)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDataRowCache</h4>
<pre>public&nbsp;void&nbsp;setDataRowCache(<a href="../../../../org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access">DataRowStore</a>&nbsp;dataRowCache)</pre>
<div class="block">Sets parent DataRowStore. Registers to receive SnapshotEvents if the cache is
configured to allow ObjectStores to receive such events.</div>
</li>
</ul>
<a name="objectsUnregistered(java.util.Collection)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>objectsUnregistered</h4>
<pre>public&nbsp;void&nbsp;objectsUnregistered(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&nbsp;objects)</pre>
<div class="block">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.</div>
</li>
</ul>
<a name="objectsRolledBack()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>objectsRolledBack</h4>
<pre>public&nbsp;void&nbsp;objectsRolledBack()</pre>
<div class="block">Reverts changes to all stored uncomitted objects.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>1.1</dd></dl>
</li>
</ul>
<a name="getCachedSnapshot(org.apache.cayenne.ObjectId)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCachedSnapshot</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/DataRow.html" title="class in org.apache.cayenne">DataRow</a>&nbsp;getCachedSnapshot(<a href="../../../../org/apache/cayenne/ObjectId.html" title="class in org.apache.cayenne">ObjectId</a>&nbsp;oid)</pre>
<div class="block">Returns a snapshot for ObjectId from the underlying snapshot cache. If cache
contains no snapshot, a null is returned.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>1.1</dd></dl>
</li>
</ul>
<a name="getSnapshot(org.apache.cayenne.ObjectId)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSnapshot</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/DataRow.html" title="class in org.apache.cayenne">DataRow</a>&nbsp;getSnapshot(<a href="../../../../org/apache/cayenne/ObjectId.html" title="class in org.apache.cayenne">ObjectId</a>&nbsp;oid)</pre>
<div class="block">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.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
<a name="getObjectIterator()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObjectIterator</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&nbsp;getObjectIterator()</pre>
<div class="block">Returns an iterator over the registered objects.</div>
</li>
</ul>
<a name="hasChanges()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasChanges</h4>
<pre>public&nbsp;boolean&nbsp;hasChanges()</pre>
<div class="block">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.</div>
</li>
</ul>
<a name="objectsInState(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>objectsInState</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&gt;&nbsp;objectsInState(int&nbsp;state)</pre>
<div class="block">Return a subset of registered objects that are in a certain persistence state.
Collection is returned by copy.</div>
</li>
</ul>
<a name="snapshotsChanged(org.apache.cayenne.access.event.SnapshotEvent)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>snapshotsChanged</h4>
<pre>public&nbsp;void&nbsp;snapshotsChanged(<a href="../../../../org/apache/cayenne/access/event/SnapshotEvent.html" title="class in org.apache.cayenne.access.event">SnapshotEvent</a>&nbsp;event)</pre>
<div class="block">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></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/access/event/SnapshotEventListener.html#snapshotsChanged(org.apache.cayenne.access.event.SnapshotEvent)">snapshotsChanged</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/access/event/SnapshotEventListener.html" title="interface in org.apache.cayenne.access.event">SnapshotEventListener</a></code></dd>
<dt><span class="strong">Since:</span></dt>
<dd>1.1</dd></dl>
</li>
</ul>
<a name="getContext()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContext</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/access/DataContext.html" title="class in org.apache.cayenne.access">DataContext</a>&nbsp;getContext()</pre>
<dl><dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
<a name="setContext(org.apache.cayenne.access.DataContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContext</h4>
<pre>public&nbsp;void&nbsp;setContext(<a href="../../../../org/apache/cayenne/access/DataContext.html" title="class in org.apache.cayenne.access">DataContext</a>&nbsp;context)</pre>
<dl><dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
<a name="getNode(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNode</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getNode(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId)</pre>
<div class="block">Returns a registered DataObject or null of no object exists for the ObjectId.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphManager.html#getNode(java.lang.Object)">getNode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphManager.html" title="interface in org.apache.cayenne.graph">GraphManager</a></code></dd>
<dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
<a name="registeredNodes()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registeredNodes</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;registeredNodes()</pre>
<div class="block">Returns all registered DataObjects. List is returned by copy and can be modified by
the caller.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphManager.html#registeredNodes()">registeredNodes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphManager.html" title="interface in org.apache.cayenne.graph">GraphManager</a></code></dd>
<dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
<a name="registerNode(java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerNode</h4>
<pre>public&nbsp;void&nbsp;registerNode(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeObject)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphManager.html#registerNode(java.lang.Object,%20java.lang.Object)">GraphManager</a></code></strong></div>
<div class="block">"Registers" a graph node, usually storing the node in some internal map using its
id as a key.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphManager.html#registerNode(java.lang.Object,%20java.lang.Object)">registerNode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphManager.html" title="interface in org.apache.cayenne.graph">GraphManager</a></code></dd>
<dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
<a name="unregisterNode(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterNode</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;unregisterNode(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphManager.html#unregisterNode(java.lang.Object)">GraphManager</a></code></strong></div>
<div class="block">"Unregisters" a graph node, forgetting any information associated with nodeId.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphManager.html#unregisterNode(java.lang.Object)">unregisterNode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphManager.html" title="interface in org.apache.cayenne.graph">GraphManager</a></code></dd>
<dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
<a name="nodeIdChanged(java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nodeIdChanged</h4>
<pre>public&nbsp;void&nbsp;nodeIdChanged(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;newId)</pre>
<div class="block">Does nothing.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#nodeIdChanged(java.lang.Object,%20java.lang.Object)">nodeIdChanged</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html" title="interface in org.apache.cayenne.graph">GraphChangeHandler</a></code></dd>
<dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
<a name="nodeCreated(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nodeCreated</h4>
<pre>public&nbsp;void&nbsp;nodeCreated(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#nodeCreated(java.lang.Object)">GraphChangeHandler</a></code></strong></div>
<div class="block">Notifies implementing object that a new node was created in the graph.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#nodeCreated(java.lang.Object)">nodeCreated</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html" title="interface in org.apache.cayenne.graph">GraphChangeHandler</a></code></dd>
<dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
<a name="nodeRemoved(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nodeRemoved</h4>
<pre>public&nbsp;void&nbsp;nodeRemoved(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#nodeRemoved(java.lang.Object)">GraphChangeHandler</a></code></strong></div>
<div class="block">Notifies implementing object that a node was removed from the graph.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#nodeRemoved(java.lang.Object)">nodeRemoved</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html" title="interface in org.apache.cayenne.graph">GraphChangeHandler</a></code></dd>
<dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
<a name="nodePropertyChanged(java.lang.Object, java.lang.String, java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nodePropertyChanged</h4>
<pre>public&nbsp;void&nbsp;nodePropertyChanged(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;property,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oldValue,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;newValue)</pre>
<div class="block">Records dirty object snapshot.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#nodePropertyChanged(java.lang.Object,%20java.lang.String,%20java.lang.Object,%20java.lang.Object)">nodePropertyChanged</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html" title="interface in org.apache.cayenne.graph">GraphChangeHandler</a></code></dd>
<dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
<a name="arcCreated(java.lang.Object, java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>arcCreated</h4>
<pre>public&nbsp;void&nbsp;arcCreated(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;targetNodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;arcId)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#arcCreated(java.lang.Object,%20java.lang.Object,%20java.lang.Object)">GraphChangeHandler</a></code></strong></div>
<div class="block">Notifies implementing object that a new arc was created between two nodes.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#arcCreated(java.lang.Object,%20java.lang.Object,%20java.lang.Object)">arcCreated</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html" title="interface in org.apache.cayenne.graph">GraphChangeHandler</a></code></dd>
<dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
<a name="arcDeleted(java.lang.Object, java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>arcDeleted</h4>
<pre>public&nbsp;void&nbsp;arcDeleted(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;targetNodeId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;arcId)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#arcDeleted(java.lang.Object,%20java.lang.Object,%20java.lang.Object)">GraphChangeHandler</a></code></strong></div>
<div class="block">Notifies implementing object that an arc between two nodes was deleted.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#arcDeleted(java.lang.Object,%20java.lang.Object,%20java.lang.Object)">arcDeleted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html" title="interface in org.apache.cayenne.graph">GraphChangeHandler</a></code></dd>
<dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ObjectStore.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/cayenne/access/ObjectMapRetainStrategy.html" title="interface in org.apache.cayenne.access"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/access/OperationHints.html" title="interface in org.apache.cayenne.access"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cayenne/access/ObjectStore.html" target="_top">Frames</a></li>
<li><a href="ObjectStore.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2014 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
</body>
</html>