blob: 23cc600279c0a42fb0f696843c7fec20dd1c6216 [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:19 MSK 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ObjectContext (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="ObjectContext (cayenne-doc: Cayenne Documentation 4.0.2 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/ObjectContext.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/LifecycleListener.html" title="interface in org.apache.cayenne"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/cayenne/ObjectId.html" title="class in org.apache.cayenne"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/cayenne/ObjectContext.html" target="_top">Frames</a></li>
<li><a href="ObjectContext.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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</div>
<h2 title="Interface ObjectContext" class="title">Interface ObjectContext</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a>, <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></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../org/apache/cayenne/BaseContext.html" title="class in org.apache.cayenne">BaseContext</a>, <a href="../../../org/apache/cayenne/CayenneContext.html" title="class in org.apache.cayenne">CayenneContext</a>, <a href="../../../org/apache/cayenne/access/DataContext.html" title="class in org.apache.cayenne.access">DataContext</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">ObjectContext</span>
extends <a href="../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a>, <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></pre>
<div class="block">A Cayenne object facade to a persistent store. Instances of ObjectContext are
used in the application code to access Cayenne persistence features.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.2</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>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.cayenne.DataChannel">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;org.apache.cayenne.<a href="../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a></h3>
<code><a href="../../../org/apache/cayenne/DataChannel.html#FLUSH_CASCADE_SYNC">FLUSH_CASCADE_SYNC</a>, <a href="../../../org/apache/cayenne/DataChannel.html#FLUSH_NOCASCADE_SYNC">FLUSH_NOCASCADE_SYNC</a>, <a href="../../../org/apache/cayenne/DataChannel.html#GRAPH_CHANGED_SUBJECT">GRAPH_CHANGED_SUBJECT</a>, <a href="../../../org/apache/cayenne/DataChannel.html#GRAPH_FLUSHED_SUBJECT">GRAPH_FLUSHED_SUBJECT</a>, <a href="../../../org/apache/cayenne/DataChannel.html#GRAPH_ROLLEDBACK_SUBJECT">GRAPH_ROLLEDBACK_SUBJECT</a>, <a href="../../../org/apache/cayenne/DataChannel.html#ROLLBACK_CASCADE_SYNC">ROLLBACK_CASCADE_SYNC</a></code></li>
</ul>
</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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>&lt;T&gt;&nbsp;<a href="../../../org/apache/cayenne/ResultBatchIterator.html" title="class in org.apache.cayenne">ResultBatchIterator</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#batchIterator-org.apache.cayenne.query.Select-int-">batchIterator</a></span>(<a href="../../../org/apache/cayenne/query/Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;&nbsp;query,
int&nbsp;size)</code>
<div class="block">Creates a ResultBatchIterator based on the provided query and batch size.</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/ObjectContext.html#commitChanges--">commitChanges</a></span>()</code>
<div class="block">Flushes all changes to objects in this context to the parent DataChannel,
cascading flush operation all the way through the stack, ultimately
saving data in the database.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#commitChangesToParent--">commitChangesToParent</a></span>()</code>
<div class="block">Flushes all changes to objects in this context to the parent DataChannel.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<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;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#deletedObjects--">deletedObjects</a></span>()</code>
<div class="block">Returns a collection of objects that are registered with this
ObjectContext and have a state PersistenceState.DELETED</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#deleteObject-java.lang.Object-">deleteObject</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;object)</code>
<div class="block">Schedules deletion of a persistent object.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#deleteObjects-java.util.Collection-">deleteObjects</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>&lt;?&gt;&nbsp;objects)</code>
<div class="block">Schedules deletion of a collection of persistent objects.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#deleteObjects-T...-">deleteObjects</a></span>(T...&nbsp;objects)</code>
<div class="block">Schedules deletion of one or more persistent objects.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#getChannel--">getChannel</a></span>()</code>
<div class="block">Returns an DataChannel used by this context.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#getEntityResolver--">getEntityResolver</a></span>()</code>
<div class="block">Returns EntityResolver that stores all mapping information accessible by
this ObjectContext.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/cayenne/graph/GraphManager.html" title="interface in org.apache.cayenne.graph">GraphManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#getGraphManager--">getGraphManager</a></span>()</code>
<div class="block">Returns GraphManager that manages object graph associated with this
context.</div>
</td>
</tr>
<tr id="i10" 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/ObjectContext.html#getUserProperty-java.lang.String-">getUserProperty</a></span>(<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;key)</code>
<div class="block">Returns a user-defined property previously set via 'setUserProperty'.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.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 ObjectContext, <code>false</code> otherwise.</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/ObjectContext.html#invalidateObjects-java.util.Collection-">invalidateObjects</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>&lt;?&gt;&nbsp;objects)</code>
<div class="block">Invalidates a Collection of persistent objects.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#invalidateObjects-T...-">invalidateObjects</a></span>(T...&nbsp;objects)</code>
<div class="block">Invalidates one or more persistent objects.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#iterate-org.apache.cayenne.query.Select-org.apache.cayenne.ResultIteratorCallback-">iterate</a></span>(<a href="../../../org/apache/cayenne/query/Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;&nbsp;query,
<a href="../../../org/apache/cayenne/ResultIteratorCallback.html" title="interface in org.apache.cayenne">ResultIteratorCallback</a>&lt;T&gt;&nbsp;callback)</code>
<div class="block">Creates a ResultIterator based on the provided query and passes it to a
callback for processing.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../org/apache/cayenne/ResultIterator.html" title="interface in org.apache.cayenne">ResultIterator</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#iterator-org.apache.cayenne.query.Select-">iterator</a></span>(<a href="../../../org/apache/cayenne/query/Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;&nbsp;query)</code>
<div class="block">Creates a ResultIterator based on the provided query.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>&lt;T extends <a href="../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&gt;<br>T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#localObject-T-">localObject</a></span>(T&nbsp;objectFromAnotherContext)</code>
<div class="block">Returns a local copy of 'objectFromAnotherContext' object.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<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;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#modifiedObjects--">modifiedObjects</a></span>()</code>
<div class="block">Returns a collection of objects that are registered with this
ObjectContext and have a state PersistenceState.MODIFIED</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#newObject-java.lang.Class-">newObject</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;persistentClass)</code>
<div class="block">Creates a new persistent object of a given class scheduled to be inserted
to the database on next commit.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<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;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#newObjects--">newObjects</a></span>()</code>
<div class="block">Returns a collection of objects that are registered with this
ObjectContext and have a state PersistenceState.NEW</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/cayenne/QueryResponse.html" title="interface in org.apache.cayenne">QueryResponse</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#performGenericQuery-org.apache.cayenne.query.Query-">performGenericQuery</a></span>(<a href="../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</a>&nbsp;query)</code>
<div class="block">Executes any kind of query providing the result in a form of
QueryResponse.</div>
</td>
</tr>
<tr id="i21" 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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#performQuery-org.apache.cayenne.query.Query-">performQuery</a></span>(<a href="../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</a>&nbsp;query)</code>
<div class="block">Executes a selecting query, returning a list of persistent objects or
data rows.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#prepareForAccess-org.apache.cayenne.Persistent-java.lang.String-boolean-">prepareForAccess</a></span>(<a href="../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&nbsp;object,
<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,
boolean&nbsp;lazyFaulting)</code>
<div class="block">A callback method that child Persistent objects are expected to call
before accessing property values.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#propertyChanged-org.apache.cayenne.Persistent-java.lang.String-java.lang.Object-java.lang.Object-">propertyChanged</a></span>(<a href="../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&nbsp;object,
<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">A callback method that child Persistent objects are expected to call from
inside the setter after modifying a value of a persistent property,
including "simple" and "arc" properties.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#registerNewObject-java.lang.Object-">registerNewObject</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;object)</code>
<div class="block">Registers a transient object with the context.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#rollbackChanges--">rollbackChanges</a></span>()</code>
<div class="block">Resets all uncommitted changes made to the objects in this ObjectContext,
cascading rollback operation all the way through the stack.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#rollbackChangesLocally--">rollbackChangesLocally</a></span>()</code>
<div class="block">Resets all uncommitted changes made to the objects in this ObjectContext.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&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;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#select-org.apache.cayenne.query.Select-">select</a></span>(<a href="../../../org/apache/cayenne/query/Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;&nbsp;query)</code>
<div class="block">Executes a selecting query, returning a list of persistent objects or
data rows.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#selectFirst-org.apache.cayenne.query.Select-">selectFirst</a></span>(<a href="../../../org/apache/cayenne/query/Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;&nbsp;query)</code>
<div class="block">Selects a single object using provided query.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#selectOne-org.apache.cayenne.query.Select-">selectOne</a></span>(<a href="../../../org/apache/cayenne/query/Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;&nbsp;query)</code>
<div class="block">Executes a selecting query, returning either NULL if query matched no
objects, or a single object.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#setUserProperty-java.lang.String-java.lang.Object-">setUserProperty</a></span>(<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;key,
<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;value)</code>
<div class="block">Sets a user-defined property.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<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;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/cayenne/ObjectContext.html#uncommittedObjects--">uncommittedObjects</a></span>()</code>
<div class="block">Returns a collection of MODIFIED, DELETED or NEW objects.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.cayenne.DataChannel">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.cayenne.<a href="../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a></h3>
<code><a href="../../../org/apache/cayenne/DataChannel.html#getEventManager--">getEventManager</a>, <a href="../../../org/apache/cayenne/DataChannel.html#onQuery-org.apache.cayenne.ObjectContext-org.apache.cayenne.query.Query-">onQuery</a>, <a href="../../../org/apache/cayenne/DataChannel.html#onSync-org.apache.cayenne.ObjectContext-org.apache.cayenne.graph.GraphDiff-int-">onSync</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getEntityResolver--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEntityResolver</h4>
<pre><a href="../../../org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</a>&nbsp;getEntityResolver()</pre>
<div class="block">Returns EntityResolver that stores all mapping information accessible by
this ObjectContext.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/cayenne/DataChannel.html#getEntityResolver--">getEntityResolver</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a></code></dd>
</dl>
</li>
</ul>
<a name="newObjects--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newObjects</h4>
<pre><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;?&gt;&nbsp;newObjects()</pre>
<div class="block">Returns a collection of objects that are registered with this
ObjectContext and have a state PersistenceState.NEW</div>
</li>
</ul>
<a name="deletedObjects--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deletedObjects</h4>
<pre><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;?&gt;&nbsp;deletedObjects()</pre>
<div class="block">Returns a collection of objects that are registered with this
ObjectContext and have a state PersistenceState.DELETED</div>
</li>
</ul>
<a name="modifiedObjects--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>modifiedObjects</h4>
<pre><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;?&gt;&nbsp;modifiedObjects()</pre>
<div class="block">Returns a collection of objects that are registered with this
ObjectContext and have a state PersistenceState.MODIFIED</div>
</li>
</ul>
<a name="uncommittedObjects--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>uncommittedObjects</h4>
<pre><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;?&gt;&nbsp;uncommittedObjects()</pre>
<div class="block">Returns a collection of MODIFIED, DELETED or NEW objects.</div>
</li>
</ul>
<a name="localObject-org.apache.cayenne.Persistent-">
<!-- -->
</a><a name="localObject-T-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>localObject</h4>
<pre>&lt;T extends <a href="../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&gt;&nbsp;T&nbsp;localObject(T&nbsp;objectFromAnotherContext)</pre>
<div class="block">Returns a local copy of 'objectFromAnotherContext' object. "Local" means
that the returned object is registered in this context. If the local
object hasn't been previously cached in this context, a hollow object is
created and returned to the caller. No DB query is performed to resolve
an object.
<p>
Note that passing an object with a non-existing id, may later result in
FaultFailureException on attempt to read returned object properties.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.1</dd>
</dl>
</li>
</ul>
<a name="newObject-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newObject</h4>
<pre>&lt;T&gt;&nbsp;T&nbsp;newObject(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;persistentClass)</pre>
<div class="block">Creates a new persistent object of a given class scheduled to be inserted
to the database on next commit.</div>
</li>
</ul>
<a name="registerNewObject-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerNewObject</h4>
<pre>void&nbsp;registerNewObject(<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;object)</pre>
<div class="block">Registers a transient object with the context. The difference with
<a href="../../../org/apache/cayenne/ObjectContext.html#newObject-java.lang.Class-"><code>newObject(Class)</code></a> is that a user creates an object herself,
before attaching it to the context, instead of relying on Cayenne to do
that.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - new object that needs to be made persistent.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
<a name="deleteObject-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteObject</h4>
<pre>void&nbsp;deleteObject(<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;object)
throws <a href="../../../org/apache/cayenne/DeleteDenyException.html" title="class in org.apache.cayenne">DeleteDenyException</a></pre>
<div class="block">Schedules deletion of a persistent object.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../org/apache/cayenne/DeleteDenyException.html" title="class in org.apache.cayenne">DeleteDenyException</a></code> - if a <a href="../../../org/apache/cayenne/map/DeleteRule.html#DENY"><code>DeleteRule.DENY</code></a> delete
rule is applicable for object deletion.</dd>
</dl>
</li>
</ul>
<a name="deleteObjects-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteObjects</h4>
<pre>void&nbsp;deleteObjects(<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;?&gt;&nbsp;objects)
throws <a href="../../../org/apache/cayenne/DeleteDenyException.html" title="class in org.apache.cayenne">DeleteDenyException</a></pre>
<div class="block">Schedules deletion of a collection of persistent objects.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../org/apache/cayenne/DeleteDenyException.html" title="class in org.apache.cayenne">DeleteDenyException</a></code> - if a <a href="../../../org/apache/cayenne/map/DeleteRule.html#DENY"><code>DeleteRule.DENY</code></a> delete
rule is applicable for object deletion.</dd>
</dl>
</li>
</ul>
<a name="deleteObjects-java.lang.Object:A-">
<!-- -->
</a><a name="deleteObjects-T...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteObjects</h4>
<pre>&lt;T&gt;&nbsp;void&nbsp;deleteObjects(T...&nbsp;objects)
throws <a href="../../../org/apache/cayenne/DeleteDenyException.html" title="class in org.apache.cayenne">DeleteDenyException</a></pre>
<div class="block">Schedules deletion of one or more persistent objects. Same as
<a href="../../../org/apache/cayenne/ObjectContext.html#deleteObjects-java.util.Collection-"><code>deleteObjects(Collection)</code></a> only with a vararg argument list for
easier deletion of individual objects.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../org/apache/cayenne/DeleteDenyException.html" title="class in org.apache.cayenne">DeleteDenyException</a></code> - if a <a href="../../../org/apache/cayenne/map/DeleteRule.html#DENY"><code>DeleteRule.DENY</code></a> delete
rule is applicable for object deletion.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.1</dd>
</dl>
</li>
</ul>
<a name="prepareForAccess-org.apache.cayenne.Persistent-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareForAccess</h4>
<pre>void&nbsp;prepareForAccess(<a href="../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&nbsp;object,
<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,
boolean&nbsp;lazyFaulting)</pre>
<div class="block">A callback method that child Persistent objects are expected to call
before accessing property values. This callback allows ObjectContext to
"inflate" unresolved objects on demand and also resolve properties that
rely on lazy faulting.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
<a name="propertyChanged-org.apache.cayenne.Persistent-java.lang.String-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>propertyChanged</h4>
<pre>void&nbsp;propertyChanged(<a href="../../../org/apache/cayenne/Persistent.html" title="interface in org.apache.cayenne">Persistent</a>&nbsp;object,
<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">A callback method that child Persistent objects are expected to call from
inside the setter after modifying a value of a persistent property,
including "simple" and "arc" properties.</div>
</li>
</ul>
<a name="commitChanges--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>commitChanges</h4>
<pre>void&nbsp;commitChanges()</pre>
<div class="block">Flushes all changes to objects in this context to the parent DataChannel,
cascading flush operation all the way through the stack, ultimately
saving data in the database.</div>
</li>
</ul>
<a name="commitChangesToParent--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>commitChangesToParent</h4>
<pre>void&nbsp;commitChangesToParent()</pre>
<div class="block">Flushes all changes to objects in this context to the parent DataChannel.
Same as <a href="../../../org/apache/cayenne/ObjectContext.html#commitChanges--"><code>commitChanges()</code></a>, but no cascading flush occurs.</div>
</li>
</ul>
<a name="rollbackChanges--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rollbackChanges</h4>
<pre>void&nbsp;rollbackChanges()</pre>
<div class="block">Resets all uncommitted changes made to the objects in this ObjectContext,
cascading rollback operation all the way through the stack.</div>
</li>
</ul>
<a name="rollbackChangesLocally--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rollbackChangesLocally</h4>
<pre>void&nbsp;rollbackChangesLocally()</pre>
<div class="block">Resets all uncommitted changes made to the objects in this ObjectContext.
Same as <a href="../../../org/apache/cayenne/ObjectContext.html#rollbackChanges--"><code>rollbackChanges()</code></a>, but rollback is local to this
context and no cascading changes undoing occurs.</div>
</li>
</ul>
<a name="performQuery-org.apache.cayenne.query.Query-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>performQuery</h4>
<pre><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>&nbsp;performQuery(<a href="../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</a>&nbsp;query)</pre>
<div class="block">Executes a selecting query, returning a list of persistent objects or
data rows.</div>
</li>
</ul>
<a name="select-org.apache.cayenne.query.Select-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>select</h4>
<pre>&lt;T&gt;&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;T&gt;&nbsp;select(<a href="../../../org/apache/cayenne/query/Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;&nbsp;query)</pre>
<div class="block">Executes a selecting query, returning a list of persistent objects or
data rows.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.0</dd>
</dl>
</li>
</ul>
<a name="selectOne-org.apache.cayenne.query.Select-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectOne</h4>
<pre>&lt;T&gt;&nbsp;T&nbsp;selectOne(<a href="../../../org/apache/cayenne/query/Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;&nbsp;query)</pre>
<div class="block">Executes a selecting query, returning either NULL if query matched no
objects, or a single object. If query matches more than one object,
<a href="../../../org/apache/cayenne/CayenneRuntimeException.html" title="class in org.apache.cayenne"><code>CayenneRuntimeException</code></a> is thrown.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.0</dd>
</dl>
</li>
</ul>
<a name="selectFirst-org.apache.cayenne.query.Select-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectFirst</h4>
<pre>&lt;T&gt;&nbsp;T&nbsp;selectFirst(<a href="../../../org/apache/cayenne/query/Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;&nbsp;query)</pre>
<div class="block">Selects a single object using provided query. The query itself can
match any number of objects, but will return only the first one. It
returns null if no objects were matched.
<p>
If it matched more than one object, the first object from the list is
returned. This makes 'selectFirst' different from
<a href="../../../org/apache/cayenne/ObjectContext.html#selectOne-org.apache.cayenne.query.Select-"><code>selectOne(Select)</code></a>, which would throw in this situation.
'selectFirst' is useful e.g. when the query is ordered and we only want
to see the first object (e.g. "most recent news article"), etc.
<p>
Selecting the first object via "Select.selectFirst(ObjectContext)"
is more comprehensible than selecting via "ObjectContext.selectFirst(Select)",
because implementations of "Select" set fetch size limit to one.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.0</dd>
</dl>
</li>
</ul>
<a name="iterate-org.apache.cayenne.query.Select-org.apache.cayenne.ResultIteratorCallback-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>iterate</h4>
<pre>&lt;T&gt;&nbsp;void&nbsp;iterate(<a href="../../../org/apache/cayenne/query/Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;&nbsp;query,
<a href="../../../org/apache/cayenne/ResultIteratorCallback.html" title="interface in org.apache.cayenne">ResultIteratorCallback</a>&lt;T&gt;&nbsp;callback)</pre>
<div class="block">Creates a ResultIterator based on the provided query and passes it to a
callback for processing. The caller does not need to worry about closing
the iterator. This method takes care of it.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.0</dd>
</dl>
</li>
</ul>
<a name="iterator-org.apache.cayenne.query.Select-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>iterator</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../../org/apache/cayenne/ResultIterator.html" title="interface in org.apache.cayenne">ResultIterator</a>&lt;T&gt;&nbsp;iterator(<a href="../../../org/apache/cayenne/query/Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;&nbsp;query)</pre>
<div class="block">Creates a ResultIterator based on the provided query. It is usually
backed by an open result set and is useful for processing of large data
sets, preserving a constant memory footprint. The caller must wrap
iteration in try/finally (or try-with-resources for Java 1.7 and higher) and
close the ResultIterator explicitly.
Or use <a href="../../../org/apache/cayenne/ObjectContext.html#iterate-org.apache.cayenne.query.Select-org.apache.cayenne.ResultIteratorCallback-"><code>iterate(Select, ResultIteratorCallback)</code></a> as an alternative.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.0</dd>
</dl>
</li>
</ul>
<a name="batchIterator-org.apache.cayenne.query.Select-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>batchIterator</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../../org/apache/cayenne/ResultBatchIterator.html" title="class in org.apache.cayenne">ResultBatchIterator</a>&lt;T&gt;&nbsp;batchIterator(<a href="../../../org/apache/cayenne/query/Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;&nbsp;query,
int&nbsp;size)</pre>
<div class="block">Creates a ResultBatchIterator based on the provided query and batch size. It is usually
backed by an open result set and is useful for processing of large data
sets, preserving a constant memory footprint. The caller must wrap
iteration in try/finally (or try-with-resources for Java 1.7 and higher) and
close the ResultBatchIterator explicitly.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.0</dd>
</dl>
</li>
</ul>
<a name="performGenericQuery-org.apache.cayenne.query.Query-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>performGenericQuery</h4>
<pre><a href="../../../org/apache/cayenne/QueryResponse.html" title="interface in org.apache.cayenne">QueryResponse</a>&nbsp;performGenericQuery(<a href="../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</a>&nbsp;query)</pre>
<div class="block">Executes any kind of query providing the result in a form of
QueryResponse.</div>
</li>
</ul>
<a name="getGraphManager--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGraphManager</h4>
<pre><a href="../../../org/apache/cayenne/graph/GraphManager.html" title="interface in org.apache.cayenne.graph">GraphManager</a>&nbsp;getGraphManager()</pre>
<div class="block">Returns GraphManager that manages object graph associated with this
context.</div>
</li>
</ul>
<a name="getChannel--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChannel</h4>
<pre><a href="../../../org/apache/cayenne/DataChannel.html" title="interface in org.apache.cayenne">DataChannel</a>&nbsp;getChannel()</pre>
<div class="block">Returns an DataChannel used by this context.</div>
</li>
</ul>
<a name="hasChanges--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasChanges</h4>
<pre>boolean&nbsp;hasChanges()</pre>
<div class="block">Returns <code>true</code> if there are any modified, deleted or new
objects registered with this ObjectContext, <code>false</code> otherwise.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
<a name="invalidateObjects-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invalidateObjects</h4>
<pre>void&nbsp;invalidateObjects(<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;?&gt;&nbsp;objects)</pre>
<div class="block">Invalidates a Collection of persistent objects. This operation only
applies to the objects already committed to the database and does nothing
to the NEW objects. It would remove each object's snapshot from caches
and change object's state to HOLLOW. On the next access to this object,
the object will be refetched.</div>
</li>
</ul>
<a name="invalidateObjects-java.lang.Object:A-">
<!-- -->
</a><a name="invalidateObjects-T...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invalidateObjects</h4>
<pre>&lt;T&gt;&nbsp;void&nbsp;invalidateObjects(T...&nbsp;objects)</pre>
<div class="block">Invalidates one or more persistent objects. Same as
<a href="../../../org/apache/cayenne/ObjectContext.html#invalidateObjects-java.util.Collection-"><code>invalidateObjects(Collection)</code></a> only with a vararg argument list
for easier invalidation of individual objects. If no arguments are passed
to this method, it does nothing.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.1</dd>
</dl>
</li>
</ul>
<a name="getUserProperty-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUserProperty</h4>
<pre><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;getUserProperty(<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;key)</pre>
<div class="block">Returns a user-defined property previously set via 'setUserProperty'.
Concurrent access to properties does not require any special
synchronization</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
<a name="setUserProperty-java.lang.String-java.lang.Object-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setUserProperty</h4>
<pre>void&nbsp;setUserProperty(<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;key,
<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;value)</pre>
<div class="block">Sets a user-defined property. Concurrent access to properties does not
require any special synchronization</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</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/ObjectContext.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/LifecycleListener.html" title="interface in org.apache.cayenne"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/cayenne/ObjectId.html" title="class in org.apache.cayenne"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/cayenne/ObjectContext.html" target="_top">Frames</a></li>
<li><a href="ObjectContext.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>