blob: ab5c145e24edc454a8647ec2cf0a3a09e8f9091e [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 (1.8.0_112) on Mon Oct 14 11:36:11 MSK 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ObjectStore (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
<meta name="date" content="2019-10-14">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ObjectStore (cayenne-doc: Cayenne Documentation 4.0.2 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<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="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/access/OperationHints.html" title="interface in org.apache.cayenne.access"><span class="typeNameLink">Next&nbsp;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&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;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="https://docs.oracle.com/javase/7/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="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/7/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="typeNameLabel">ObjectStore</span>
extends <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="https://docs.oracle.com/javase/7/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="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
<dt><span class="seeLabel">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="memberSummary" 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="https://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/7/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><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#changes">changes</a></span></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><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#context">context</a></span></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><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#dataRowCache">dataRowCache</a></span></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><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#dataRowCacheSet">dataRowCacheSet</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/7/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><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#objectMap">objectMap</a></span></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="memberSummary" 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><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#ObjectStore-org.apache.cayenne.access.DataRowStore-java.util.Map-">ObjectStore</a></span>(<a href="../../../../org/apache/cayenne/access/DataRowStore.html" title="class in org.apache.cayenne.access">DataRowStore</a>&nbsp;dataRowCache,
<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/7/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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#arcCreated-java.lang.Object-java.lang.Object-java.lang.Object-">arcCreated</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;targetNodeId,
<a href="https://docs.oracle.com/javase/7/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 id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#arcDeleted-java.lang.Object-java.lang.Object-java.lang.Object-">arcDeleted</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;targetNodeId,
<a href="https://docs.oracle.com/javase/7/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 id="i2" 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><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#getCachedSnapshot-org.apache.cayenne.ObjectId-">getCachedSnapshot</a></span>(<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 id="i3" 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><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#getContext--">getContext</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" 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><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#getDataRowCache--">getDataRowCache</a></span>()</code>
<div class="block">Returns a DataRowStore associated with this ObjectStore.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#getNode-java.lang.Object-">getNode</a></span>(<a href="https://docs.oracle.com/javase/7/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 id="i6" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#getObjectIterator--">getObjectIterator</a></span>()</code>
<div class="block">Returns an iterator over the registered objects.</div>
</td>
</tr>
<tr id="i7" 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><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#getSnapshot-org.apache.cayenne.ObjectId-">getSnapshot</a></span>(<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 id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#hasChanges--">hasChanges</a></span>()</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 id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#nodeCreated-java.lang.Object-">nodeCreated</a></span>(<a href="https://docs.oracle.com/javase/7/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 id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#nodeIdChanged-java.lang.Object-java.lang.Object-">nodeIdChanged</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="https://docs.oracle.com/javase/7/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 id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#nodePropertyChanged-java.lang.Object-java.lang.String-java.lang.Object-java.lang.Object-">nodePropertyChanged</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;property,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oldValue,
<a href="https://docs.oracle.com/javase/7/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 id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#nodeRemoved-java.lang.Object-">nodeRemoved</a></span>(<a href="https://docs.oracle.com/javase/7/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 id="i13" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/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><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#objectsInState-int-">objectsInState</a></span>(int&nbsp;state)</code>
<div class="block">Return a subset of registered objects that are in a certain persistence state.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#objectsRolledBack--">objectsRolledBack</a></span>()</code>
<div class="block">Reverts changes to all stored uncomitted objects.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#objectsUnregistered-java.util.Collection-">objectsUnregistered</a></span>(<a href="https://docs.oracle.com/javase/7/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 id="i16" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/7/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><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#registeredNodes--">registeredNodes</a></span>()</code>
<div class="block">Returns all registered DataObjects.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#registeredObjectsCount--">registeredObjectsCount</a></span>()</code>
<div class="block">Returns a number of objects currently registered with this ObjectStore.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#registerNode-java.lang.Object-java.lang.Object-">registerNode</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="https://docs.oracle.com/javase/7/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 id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#setContext-org.apache.cayenne.access.DataContext-">setContext</a></span>(<a href="../../../../org/apache/cayenne/access/DataContext.html" title="class in org.apache.cayenne.access">DataContext</a>&nbsp;context)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#setDataRowCache-org.apache.cayenne.access.DataRowStore-">setDataRowCache</a></span>(<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 id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#snapshotsChanged-org.apache.cayenne.access.event.SnapshotEvent-">snapshotsChanged</a></span>(<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 id="i22" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/access/ObjectStore.html#unregisterNode-java.lang.Object-">unregisterNode</a></span>(<a href="https://docs.oracle.com/javase/7/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="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" 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="https://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/7/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="https://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/7/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-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="https://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/7/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="simpleTagLabel">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="simpleTagLabel">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="https://docs.oracle.com/javase/7/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="simpleTagLabel">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="simpleTagLabel">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="simpleTagLabel">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="https://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&gt;&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="https://docs.oracle.com/javase/7/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><span class="overrideSpecifyLabel">Specified by:</span></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="simpleTagLabel">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="simpleTagLabel">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="simpleTagLabel">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="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getNode(<a href="https://docs.oracle.com/javase/7/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><span class="overrideSpecifyLabel">Specified by:</span></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="simpleTagLabel">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="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/7/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><span class="overrideSpecifyLabel">Specified by:</span></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="simpleTagLabel">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="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeObject)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphManager.html#registerNode-java.lang.Object-java.lang.Object-">GraphManager</a></code></span></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><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphManager.html#registerNode-java.lang.Object-java.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="simpleTagLabel">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="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;unregisterNode(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphManager.html#unregisterNode-java.lang.Object-">GraphManager</a></code></span></div>
<div class="block">"Unregisters" a graph node, forgetting any information associated with nodeId.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></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="simpleTagLabel">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="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="https://docs.oracle.com/javase/7/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><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#nodeIdChanged-java.lang.Object-java.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="simpleTagLabel">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="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#nodeCreated-java.lang.Object-">GraphChangeHandler</a></code></span></div>
<div class="block">Notifies implementing object that a new node was created in the graph.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></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="simpleTagLabel">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="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#nodeRemoved-java.lang.Object-">GraphChangeHandler</a></code></span></div>
<div class="block">Notifies implementing object that a node was removed from the graph.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></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="simpleTagLabel">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="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;property,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oldValue,
<a href="https://docs.oracle.com/javase/7/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><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#nodePropertyChanged-java.lang.Object-java.lang.String-java.lang.Object-java.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="simpleTagLabel">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="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;targetNodeId,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;arcId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#arcCreated-java.lang.Object-java.lang.Object-java.lang.Object-">GraphChangeHandler</a></code></span></div>
<div class="block">Notifies implementing object that a new arc was created between two nodes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#arcCreated-java.lang.Object-java.lang.Object-java.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="simpleTagLabel">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="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nodeId,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;targetNodeId,
<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;arcId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#arcDeleted-java.lang.Object-java.lang.Object-java.lang.Object-">GraphChangeHandler</a></code></span></div>
<div class="block">Notifies implementing object that an arc between two nodes was deleted.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/graph/GraphChangeHandler.html#arcDeleted-java.lang.Object-java.lang.Object-java.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="simpleTagLabel">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>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<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="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/access/OperationHints.html" title="interface in org.apache.cayenne.access"><span class="typeNameLink">Next&nbsp;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&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;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;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
</body>
</html>