blob: 3917a6434bcbdf6906f65652bfa0295861ff9505 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_121) on Fri Jan 06 19:36:27 UTC 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>StoreManager (OpenJPA Parent POM 2.4.2 API)</title>
<meta name="date" content="2017-01-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="StoreManager (OpenJPA Parent POM 2.4.2 API)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/StoreManager.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/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/openjpa/kernel/StoreQuery.html" title="interface in org.apache.openjpa.kernel"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/openjpa/kernel/StoreManager.html" target="_top">Frames</a></li>
<li><a href="StoreManager.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&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>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.openjpa.kernel</div>
<h2 title="Interface StoreManager" class="title">Interface StoreManager</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../org/apache/openjpa/lib/util/Closeable.html" title="interface in org.apache.openjpa.lib.util">Closeable</a></dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../org/apache/openjpa/slice/DistributedStoreManager.html" title="interface in org.apache.openjpa.slice">DistributedStoreManager</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html" title="class in org.apache.openjpa.abstractstore">AbstractStoreManager</a>, <a href="../../../../org/apache/openjpa/datacache/DataCacheStoreManager.html" title="class in org.apache.openjpa.datacache">DataCacheStoreManager</a>, <a href="../../../../org/apache/openjpa/kernel/DelegatingStoreManager.html" title="class in org.apache.openjpa.kernel">DelegatingStoreManager</a>, <a href="../../../../org/apache/openjpa/jdbc/kernel/JDBCStoreManager.html" title="class in org.apache.openjpa.jdbc.kernel">JDBCStoreManager</a>, <a href="../../../../org/apache/openjpa/slice/jdbc/SliceStoreManager.html" title="class in org.apache.openjpa.slice.jdbc">SliceStoreManager</a>, <a href="../../../../org/apache/openjpa/xmlstore/XMLStoreManager.html" title="class in org.apache.openjpa.xmlstore">XMLStoreManager</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">StoreManager</span>
extends <a href="../../../../org/apache/openjpa/lib/util/Closeable.html" title="interface in org.apache.openjpa.lib.util">Closeable</a></pre>
<div class="block">Interface to be implemented by data store mechanisms to interact with
this runtime.</div>
<dl><dt><span class="strong">Author:</span></dt>
<dd>Abe White</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#FORCE_LOAD_ALL">FORCE_LOAD_ALL</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#FORCE_LOAD_DFG">FORCE_LOAD_DFG</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#FORCE_LOAD_NONE">FORCE_LOAD_NONE</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#FORCE_LOAD_REFRESH">FORCE_LOAD_REFRESH</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_DIFFERENT">VERSION_DIFFERENT</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_EARLIER">VERSION_EARLIER</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_LATER">VERSION_LATER</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_SAME">VERSION_SAME</a></strong></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#assignField(org.apache.openjpa.kernel.OpenJPAStateManager,%20int,%20boolean)">assignField</a></strong>(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
int&nbsp;field,
boolean&nbsp;preFlush)</code>
<div class="block">Assign a value to the given field.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#assignObjectId(org.apache.openjpa.kernel.OpenJPAStateManager,%20boolean)">assignObjectId</a></strong>(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
boolean&nbsp;preFlush)</code>
<div class="block">Assign an object id to the given new instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#beforeStateChange(org.apache.openjpa.kernel.OpenJPAStateManager,%20org.apache.openjpa.kernel.PCState,%20org.apache.openjpa.kernel.PCState)">beforeStateChange</a></strong>(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</a>&nbsp;fromState,
<a href="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</a>&nbsp;toState)</code>
<div class="block">Notification that the given state manager is about to change its
lifecycle state.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#begin()">begin</a></strong>()</code>
<div class="block">Begin a data store transaction.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#beginOptimistic()">beginOptimistic</a></strong>()</code>
<div class="block">Notification that an optimistic transaction has started.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#cancelAll()">cancelAll</a></strong>()</code>
<div class="block">Cancel all pending data store statements.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#close()">close</a></strong>()</code>
<div class="block">Free any resources this store manager is using.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#commit()">commit</a></strong>()</code>
<div class="block">Commit the current data store transaction.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#compareVersion(org.apache.openjpa.kernel.OpenJPAStateManager,%20java.lang.Object,%20java.lang.Object)">compareVersion</a></strong>(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;state,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;v1,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;v2)</code>
<div class="block">Compare the two version objects.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#copyDataStoreId(java.lang.Object,%20org.apache.openjpa.meta.ClassMetaData)">copyDataStoreId</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oid,
<a href="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</a>&nbsp;meta)</code>
<div class="block">Copy the given object id value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/openjpa/lib/rop/ResultObjectProvider.html" title="interface in org.apache.openjpa.lib.rop">ResultObjectProvider</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#executeExtent(org.apache.openjpa.meta.ClassMetaData,%20boolean,%20org.apache.openjpa.kernel.FetchConfiguration)">executeExtent</a></strong>(<a href="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</a>&nbsp;meta,
boolean&nbsp;subclasses,
<a href="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</a>&nbsp;fetch)</code>
<div class="block">Return a provider for all instances of the given candidate class,
optionally including subclasses.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#exists(org.apache.openjpa.kernel.OpenJPAStateManager,%20java.lang.Object)">exists</a></strong>(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;edata)</code>
<div class="block">Verify that the given instance exists in the data store; return false
if it does not.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#flush(java.util.Collection)">flush</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&gt;&nbsp;sms)</code>
<div class="block">Flush the given state manager collection to the datastore, returning
a collection of exceptions encountered during flushing.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#getClientConnection()">getClientConnection</a></strong>()</code>
<div class="block">Return a connection to the data store suitable for client use.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/openjpa/kernel/Seq.html" title="interface in org.apache.openjpa.kernel">Seq</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#getDataStoreIdSequence(org.apache.openjpa.meta.ClassMetaData)">getDataStoreIdSequence</a></strong>(<a href="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</a>&nbsp;forClass)</code>
<div class="block">Return a sequence that generates datastore identity values for the
given class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#getDataStoreIdType(org.apache.openjpa.meta.ClassMetaData)">getDataStoreIdType</a></strong>(<a href="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</a>&nbsp;meta)</code>
<div class="block">Return the class used by this StoreManager for datastore identity
values.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#getManagedType(java.lang.Object)">getManagedType</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oid)</code>
<div class="block">Return the persistent class for the given data store identity value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/openjpa/kernel/Seq.html" title="interface in org.apache.openjpa.kernel">Seq</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#getValueSequence(org.apache.openjpa.meta.FieldMetaData)">getValueSequence</a></strong>(<a href="../../../../org/apache/openjpa/meta/FieldMetaData.html" title="class in org.apache.openjpa.meta">FieldMetaData</a>&nbsp;forField)</code>
<div class="block">Return a sequence that generates values for the given field.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#initialize(org.apache.openjpa.kernel.OpenJPAStateManager,%20org.apache.openjpa.kernel.PCState,%20org.apache.openjpa.kernel.FetchConfiguration,%20java.lang.Object)">initialize</a></strong>(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</a>&nbsp;state,
<a href="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</a>&nbsp;fetch,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;edata)</code>
<div class="block">Initialize the given state manager.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#isCached(java.util.List,%20java.util.BitSet)">isCached</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;oids,
<a href="http://download.oracle.com/javase/6/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a>&nbsp;edata)</code>
<div class="block">Verify that the given instance exists in the data store in memory; return false
if it does not.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#load(org.apache.openjpa.kernel.OpenJPAStateManager,%20java.util.BitSet,%20org.apache.openjpa.kernel.FetchConfiguration,%20int,%20java.lang.Object)">load</a></strong>(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="http://download.oracle.com/javase/6/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a>&nbsp;fields,
<a href="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</a>&nbsp;fetch,
int&nbsp;lockLevel,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;edata)</code>
<div class="block">Load the given state manager.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#loadAll(java.util.Collection,%20org.apache.openjpa.kernel.PCState,%20int,%20org.apache.openjpa.kernel.FetchConfiguration,%20java.lang.Object)">loadAll</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&gt;&nbsp;sms,
<a href="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</a>&nbsp;state,
int&nbsp;load,
<a href="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</a>&nbsp;fetch,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;edata)</code>
<div class="block">Initialize, load, or validate the existance of all of the given
objects.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#newDataStoreId(java.lang.Object,%20org.apache.openjpa.meta.ClassMetaData)">newDataStoreId</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oidVal,
<a href="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</a>&nbsp;meta)</code>
<div class="block">Create a new unique datastore identity for the given type from
the given oid value (presumably pk, stringified oid, or oid instance).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#newFetchConfiguration()">newFetchConfiguration</a></strong>()</code>
<div class="block">Return a fetch configuration suitable for this runtime.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/openjpa/kernel/StoreQuery.html" title="interface in org.apache.openjpa.kernel">StoreQuery</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#newQuery(java.lang.String)">newQuery</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;language)</code>
<div class="block">Return a query implementation suitable for this store.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#releaseConnection()">releaseConnection</a></strong>()</code>
<div class="block">Instruct the store to release a retained connection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#retainConnection()">retainConnection</a></strong>()</code>
<div class="block">Instruct the store to retain a connection for continued use.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#rollback()">rollback</a></strong>()</code>
<div class="block">Rollback the current data store transaction.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#rollbackOptimistic()">rollbackOptimistic</a></strong>()</code>
<div class="block">Notification that an optimistic transaction was rolled back before
a data store transaction ever began.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#setContext(org.apache.openjpa.kernel.StoreContext)">setContext</a></strong>(<a href="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</a>&nbsp;ctx)</code>
<div class="block">Set a reference to the corresponding context.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#syncVersion(org.apache.openjpa.kernel.OpenJPAStateManager,%20java.lang.Object)">syncVersion</a></strong>(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;edata)</code>
<div class="block">Update the version information in the given state manager to the
version stored in the data store.</div>
</td>
</tr>
</table>
</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="VERSION_LATER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>VERSION_LATER</h4>
<pre>static final&nbsp;int VERSION_LATER</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.openjpa.kernel.StoreManager.VERSION_LATER">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="VERSION_EARLIER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>VERSION_EARLIER</h4>
<pre>static final&nbsp;int VERSION_EARLIER</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.openjpa.kernel.StoreManager.VERSION_EARLIER">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="VERSION_SAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>VERSION_SAME</h4>
<pre>static final&nbsp;int VERSION_SAME</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.openjpa.kernel.StoreManager.VERSION_SAME">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="VERSION_DIFFERENT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>VERSION_DIFFERENT</h4>
<pre>static final&nbsp;int VERSION_DIFFERENT</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.openjpa.kernel.StoreManager.VERSION_DIFFERENT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="FORCE_LOAD_NONE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FORCE_LOAD_NONE</h4>
<pre>static final&nbsp;int FORCE_LOAD_NONE</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.openjpa.kernel.StoreManager.FORCE_LOAD_NONE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="FORCE_LOAD_DFG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FORCE_LOAD_DFG</h4>
<pre>static final&nbsp;int FORCE_LOAD_DFG</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.openjpa.kernel.StoreManager.FORCE_LOAD_DFG">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="FORCE_LOAD_REFRESH">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FORCE_LOAD_REFRESH</h4>
<pre>static final&nbsp;int FORCE_LOAD_REFRESH</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.openjpa.kernel.StoreManager.FORCE_LOAD_REFRESH">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="FORCE_LOAD_ALL">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>FORCE_LOAD_ALL</h4>
<pre>static final&nbsp;int FORCE_LOAD_ALL</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.openjpa.kernel.StoreManager.FORCE_LOAD_ALL">Constant Field Values</a></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="setContext(org.apache.openjpa.kernel.StoreContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContext</h4>
<pre>void&nbsp;setContext(<a href="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</a>&nbsp;ctx)</pre>
<div class="block">Set a reference to the corresponding context. This method
will be called before the store manager is used. The store manager
is responsible for pulling any necessary configuration data from the
context, including the transaction mode and connection retain mode.</div>
</li>
</ul>
<a name="beginOptimistic()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beginOptimistic</h4>
<pre>void&nbsp;beginOptimistic()</pre>
<div class="block">Notification that an optimistic transaction has started. This method
does not replace the <a href="../../../../org/apache/openjpa/kernel/StoreManager.html#begin()"><code>begin()</code></a> method, which will still be called
when a true data store transaction should begin.</div>
</li>
</ul>
<a name="rollbackOptimistic()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rollbackOptimistic</h4>
<pre>void&nbsp;rollbackOptimistic()</pre>
<div class="block">Notification that an optimistic transaction was rolled back before
a data store transaction ever began.</div>
</li>
</ul>
<a name="begin()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>begin</h4>
<pre>void&nbsp;begin()</pre>
<div class="block">Begin a data store transaction. After this method is called,
it is assumed that all further operations are operating in a single
transaction that can be committed or rolled back. If optimistic
transactions are in use, this method will only be called when the
system requires a transactionally consistent connection due to a
user request to flush or commit the transaction. In this case, it
is possible that the optimistic transaction does not have the latest
versions of all instances (i.e. another transaction has modified the
same instances and committed since the optimistic transaction started).
On commit, an exception must be thrown on any attempt to overwrite
data for an instance with an older version.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>0.2.5</dd></dl>
</li>
</ul>
<a name="commit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>commit</h4>
<pre>void&nbsp;commit()</pre>
<div class="block">Commit the current data store transaction.</div>
</li>
</ul>
<a name="rollback()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rollback</h4>
<pre>void&nbsp;rollback()</pre>
<div class="block">Rollback the current data store transaction.</div>
</li>
</ul>
<a name="exists(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>exists</h4>
<pre>boolean&nbsp;exists(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;edata)</pre>
<div class="block">Verify that the given instance exists in the data store; return false
if it does not.</div>
</li>
</ul>
<a name="isCached(java.util.List, java.util.BitSet)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCached</h4>
<pre>boolean&nbsp;isCached(<a href="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;oids,
<a href="http://download.oracle.com/javase/6/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a>&nbsp;edata)</pre>
<div class="block">Verify that the given instance exists in the data store in memory; return false
if it does not. When an object is found in memory the corresponding element of
the BitSet is set to 1.</div>
</li>
</ul>
<a name="syncVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>syncVersion</h4>
<pre>boolean&nbsp;syncVersion(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;edata)</pre>
<div class="block">Update the version information in the given state manager to the
version stored in the data store.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sm</code> - the instance to check</dd><dd><code>edata</code> - the current execution data, or null if not
given to the calling method of the context</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if the instance still exists in the
datastore and is up-to-date, false otherwise</dd></dl>
</li>
</ul>
<a name="initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>boolean&nbsp;initialize(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</a>&nbsp;state,
<a href="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</a>&nbsp;fetch,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;edata)</pre>
<div class="block">Initialize the given state manager. The object id of the
state manager will be set, and the state manager's metadata be set to
the class of the instance to load, or possibly one of its superclasses.
Initialization involves first calling the
<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#initialize(java.lang.Class,%20org.apache.openjpa.kernel.PCState)"><code>OpenJPAStateManager.initialize(java.lang.Class, org.apache.openjpa.kernel.PCState)</code></a> method with
a new instance of the correct type constructed with the
<a href="../../../../org/apache/openjpa/enhance/PCRegistry.html#newInstance(java.lang.Class,%20org.apache.openjpa.enhance.StateManager,%20boolean)"><code>PCRegistry.newInstance(Class,
org.apache.openjpa.enhance.StateManager, boolean)</code></a> method
(this will reset the state manager's metadata if the actual type was a
subclass). After instance initialization, load any the fields for the
given fetch configuration that can be efficiently retrieved. If any of
the configured fields are not loaded in this method, they will be
loaded with a subsequent call to <a href="../../../../org/apache/openjpa/kernel/StoreManager.html#load(org.apache.openjpa.kernel.OpenJPAStateManager,%20java.util.BitSet,%20org.apache.openjpa.kernel.FetchConfiguration,%20int,%20java.lang.Object)"><code>load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)</code></a>. If this method is
called during a data store transaction, the instance's database record
should be locked. Version information can be loaded if desired through
the <a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setVersion(java.lang.Object)"><code>OpenJPAStateManager.setVersion(java.lang.Object)</code></a> method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sm</code> - the instance to initialize</dd><dd><code>state</code> - the lifecycle state to initialize the state manager with</dd><dd><code>fetch</code> - configuration for how to load the instance</dd><dd><code>edata</code> - the current execution data, or null if not
given to the calling method of the broker</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if the matching instance exists in the data
store, false otherwise</dd></dl>
</li>
</ul>
<a name="load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>load</h4>
<pre>boolean&nbsp;load(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="http://download.oracle.com/javase/6/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a>&nbsp;fields,
<a href="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</a>&nbsp;fetch,
int&nbsp;lockLevel,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;edata)</pre>
<div class="block">Load the given state manager.
Note that any collection or map types loaded into the state manager
will be proxied with the correct type; therefore the store manager
does not have to load the same concrete collection/map types as the
instance declares. However, array types must be consistent with the
array type stored by the persistence capable instance. If this method
is called during a data store transaction, the instance should be
locked. If the given state manager does not have its version set
already, version information can be loaded if desired through the
<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setVersion(java.lang.Object)"><code>OpenJPAStateManager.setVersion(java.lang.Object)</code></a> method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sm</code> - the instance to load</dd><dd><code>fields</code> - set of fields to load; all field indexes in this
set must be loaded; this set is mutable</dd><dd><code>fetch</code> - the fetch configuration to use when loading
related objects</dd><dd><code>lockLevel</code> - attempt to load simple fields at this lock level;
relations should be loaded at the read lock level
of the fetch configuration</dd><dd><code>edata</code> - the current execution data, or null if not
given to the calling method of the broker</dd>
<dt><span class="strong">Returns:</span></dt><dd>false if the object no longer exists in the
database, true otherwise</dd></dl>
</li>
</ul>
<a name="loadAll(java.util.Collection, org.apache.openjpa.kernel.PCState, int, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadAll</h4>
<pre><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;loadAll(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&gt;&nbsp;sms,
<a href="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</a>&nbsp;state,
int&nbsp;load,
<a href="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</a>&nbsp;fetch,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;edata)</pre>
<div class="block">Initialize, load, or validate the existance of all of the given
objects. This method is called from various broker methods that act
on multiple objects, such as <a href="../../../../org/apache/openjpa/kernel/StoreContext.html#retrieveAll(java.util.Collection,%20boolean,%20org.apache.openjpa.kernel.OpCallbacks)"><code>StoreContext.retrieveAll(java.util.Collection&lt;java.lang.Object&gt;, boolean, org.apache.openjpa.kernel.OpCallbacks)</code></a>. It gives
the store manager an opportunity to efficiently batch-load data for
several objects. Each of the given state managers will be in one of
three states, each requiring a different action:
<ul>
<li><code>stateManager.getO () == null</code>: An
uninitialized state manager. Perform the same actions as in
<a href="../../../../org/apache/openjpa/kernel/StoreManager.html#initialize(org.apache.openjpa.kernel.OpenJPAStateManager,%20org.apache.openjpa.kernel.PCState,%20org.apache.openjpa.kernel.FetchConfiguration,%20java.lang.Object)"><code>initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)</code></a>.
<li><code>load != FORCE_LOAD_NONE || stateManager.getPCState ()
== PCState.HOLLOW</code>: A hollow state manager, or one whose
fields must be loaded because this is a refresh or retrieve action.
Peform the same actions as in <a href="../../../../org/apache/openjpa/kernel/StoreManager.html#load(org.apache.openjpa.kernel.OpenJPAStateManager,%20java.util.BitSet,%20org.apache.openjpa.kernel.FetchConfiguration,%20int,%20java.lang.Object)"><code>load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)</code></a>, choosing the fields
to load based on the fetch configuration, or loading all fields
if <code>load == FORCE_LOAD_ALL</code>. Any required fields left
unloaded will cause a subsequent invocation of <a href="../../../../org/apache/openjpa/kernel/StoreManager.html#load(org.apache.openjpa.kernel.OpenJPAStateManager,%20java.util.BitSet,%20org.apache.openjpa.kernel.FetchConfiguration,%20int,%20java.lang.Object)"><code>load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)</code></a> on
the individual object in question.</li>
<li><code>load == FORCE_LOAD_NONE &amp;&amp;
stateManager.getPCState () != PCState.HOLLOW</code>: A non-hollow
state manager. Perform the same actions as in <a href="../../../../org/apache/openjpa/kernel/StoreManager.html#exists(org.apache.openjpa.kernel.OpenJPAStateManager,%20java.lang.Object)"><code>exists(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object)</code></a>,
and load additional state if desired. Non-hollow objects will only
be included outside of refresh invocations if a user calls
<code>findAll</code> with the <code>validate</code>
parameter set to <code>true</code>.</li>
</ul>
Store managers that cannot efficiently batch load can simply test
for these conditions and delegate to the proper methods.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sms</code> - the state manager instances to load</dd><dd><code>state</code> - the lifecycle state to initialize uninitialized
state managers with; may be null if no uninitialized
instances are included in <code>sms</code></dd><dd><code>load</code> - one of the FORCE_LOAD_* constants describing the
fields to force-load if this is a refresh or retrieve action</dd><dd><code>fetch</code> - the current fetch configuration to use when loading
related objects</dd><dd><code>edata</code> - the current execution data, or null if not
given to the calling method of the broker</dd>
<dt><span class="strong">Returns:</span></dt><dd>a collection of the state manager identities for
which no data store record exists</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/openjpa/util/ImplHelper.html#loadAll(java.util.Collection,%20org.apache.openjpa.kernel.StoreManager,%20org.apache.openjpa.kernel.PCState,%20int,%20org.apache.openjpa.kernel.FetchConfiguration,%20java.lang.Object)"><code>ImplHelper.loadAll(java.util.Collection, org.apache.openjpa.kernel.StoreManager, org.apache.openjpa.kernel.PCState, int, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)</code></a></dd></dl>
</li>
</ul>
<a name="beforeStateChange(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.PCState)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beforeStateChange</h4>
<pre>void&nbsp;beforeStateChange(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</a>&nbsp;fromState,
<a href="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</a>&nbsp;toState)</pre>
<div class="block">Notification that the given state manager is about to change its
lifecycle state. The store manager is not required to do anything in
this method, but some back ends may need to.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>0.3.0</dd></dl>
</li>
</ul>
<a name="flush(java.util.Collection)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flush</h4>
<pre><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&gt;&nbsp;flush(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&gt;&nbsp;sms)</pre>
<div class="block">Flush the given state manager collection to the datastore, returning
a collection of exceptions encountered during flushing.
The given collection may include states that do not require data
store action, such as persistent-clean instances or persistent-dirty
instances that have not been modified since they were last flushed.
For datastore updates and inserts, the dirty, non-flushed fields of
each state should be flushed. New instances without an assigned object
id should be given one via <a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setObjectId(java.lang.Object)"><code>OpenJPAStateManager.setObjectId(java.lang.Object)</code></a>. New
instances with value-strategy fields that have not been assigned yet
should have their fields set. Datastore version information should be
updated during flush, and the state manager's version indicator
updated through the <a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setNextVersion(java.lang.Object)"><code>OpenJPAStateManager.setNextVersion(java.lang.Object)</code></a> method.
The current version will roll over to this next version upon successful
commit.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><code>org.apache.openjpa.util.ApplicationIds#assign()</code></dd></dl>
</li>
</ul>
<a name="assignObjectId(org.apache.openjpa.kernel.OpenJPAStateManager, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>assignObjectId</h4>
<pre>boolean&nbsp;assignObjectId(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
boolean&nbsp;preFlush)</pre>
<div class="block">Assign an object id to the given new instance. Return false if the
instance cannot be assigned an identity because a flush is required
(for example, the identity is determined by the datastore on insert).
For application identity instances, the assigned object id should be
based on field state. The implementation is responsible for using the
proper value strategy according to the instance metadata. This method
is called the first time a user requests the oid of a new instance
before flush.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>preFlush</code> - whether this assignment is being requested by the
system as part of pre-flush activities, and can
be ignored if it is more efficient to assign within <a href="../../../../org/apache/openjpa/kernel/StoreManager.html#flush(java.util.Collection)"><code>flush(java.util.Collection&lt;org.apache.openjpa.kernel.OpenJPAStateManager&gt;)</code></a></dd><dt><span class="strong">Since:</span></dt>
<dd>0.3.3</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/openjpa/util/ImplHelper.html#generateFieldValue(org.apache.openjpa.kernel.StoreContext,%20org.apache.openjpa.meta.FieldMetaData)"><code>ImplHelper.generateFieldValue(org.apache.openjpa.kernel.StoreContext, org.apache.openjpa.meta.FieldMetaData)</code></a>,
<a href="../../../../org/apache/openjpa/util/ImplHelper.html#generateIdentityValue(org.apache.openjpa.kernel.StoreContext,%20org.apache.openjpa.meta.ClassMetaData,%20int)"><code>ImplHelper.generateIdentityValue(org.apache.openjpa.kernel.StoreContext, org.apache.openjpa.meta.ClassMetaData, int)</code></a>,
<code>org.apache.openjpa.util.ApplicationIds#assign()</code></dd></dl>
</li>
</ul>
<a name="assignField(org.apache.openjpa.kernel.OpenJPAStateManager, int, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>assignField</h4>
<pre>boolean&nbsp;assignField(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
int&nbsp;field,
boolean&nbsp;preFlush)</pre>
<div class="block">Assign a value to the given field. Return false if the value cannot
be assigned because a flush is required (for example, the field value
is determined by the datastore on insert). This method is called the
first time a user requests the value of a field with a value-strategy
on a new instance before flush.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>preFlush</code> - whether this assignment is being requested by the
system as part of pre-flush activities, and can
be ignored if it is more efficient to assign within <a href="../../../../org/apache/openjpa/kernel/StoreManager.html#flush(java.util.Collection)"><code>flush(java.util.Collection&lt;org.apache.openjpa.kernel.OpenJPAStateManager&gt;)</code></a></dd><dt><span class="strong">Since:</span></dt>
<dd>0.4.0</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/openjpa/util/ImplHelper.html#generateFieldValue(org.apache.openjpa.kernel.StoreContext,%20org.apache.openjpa.meta.FieldMetaData)"><code>ImplHelper.generateFieldValue(org.apache.openjpa.kernel.StoreContext, org.apache.openjpa.meta.FieldMetaData)</code></a></dd></dl>
</li>
</ul>
<a name="getManagedType(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getManagedType</h4>
<pre><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;getManagedType(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oid)</pre>
<div class="block">Return the persistent class for the given data store identity value.
If the given value is not a datastore identity object, return null.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>0.3.0</dd></dl>
</li>
</ul>
<a name="getDataStoreIdType(org.apache.openjpa.meta.ClassMetaData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataStoreIdType</h4>
<pre><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;getDataStoreIdType(<a href="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</a>&nbsp;meta)</pre>
<div class="block">Return the class used by this StoreManager for datastore identity
values. The given metadata may be null, in which case the return
value should the common datastore identity class for all classes, or
null if this store manager does not use a common identity class.</div>
</li>
</ul>
<a name="copyDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyDataStoreId</h4>
<pre><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;copyDataStoreId(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oid,
<a href="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</a>&nbsp;meta)</pre>
<div class="block">Copy the given object id value. Use the described type of the given
metadata, which may be a subclass of the given oid's described type.</div>
</li>
</ul>
<a name="newDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newDataStoreId</h4>
<pre><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;newDataStoreId(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oidVal,
<a href="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</a>&nbsp;meta)</pre>
<div class="block">Create a new unique datastore identity for the given type from
the given oid value (presumably pk, stringified oid, or oid instance).</div>
</li>
</ul>
<a name="getClientConnection()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClientConnection</h4>
<pre><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getClientConnection()</pre>
<div class="block">Return a connection to the data store suitable for client use. If
this method is called during a data store transaction, thie connection
must be transactional. If no connection is in use, this method should
create one to return.</div>
</li>
</ul>
<a name="retainConnection()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retainConnection</h4>
<pre>void&nbsp;retainConnection()</pre>
<div class="block">Instruct the store to retain a connection for continued use. This
will be invoked automatically based on the user's configured connection
retain mode.</div>
</li>
</ul>
<a name="releaseConnection()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>releaseConnection</h4>
<pre>void&nbsp;releaseConnection()</pre>
<div class="block">Instruct the store to release a retained connection. This
will be invoked automatically based on the user's configured connection
retain mode.</div>
</li>
</ul>
<a name="cancelAll()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cancelAll</h4>
<pre>boolean&nbsp;cancelAll()</pre>
<div class="block">Cancel all pending data store statements.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if any statements cancelled, false otherwise</dd><dt><span class="strong">Since:</span></dt>
<dd>0.3.1</dd></dl>
</li>
</ul>
<a name="executeExtent(org.apache.openjpa.meta.ClassMetaData, boolean, org.apache.openjpa.kernel.FetchConfiguration)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executeExtent</h4>
<pre><a href="../../../../org/apache/openjpa/lib/rop/ResultObjectProvider.html" title="interface in org.apache.openjpa.lib.rop">ResultObjectProvider</a>&nbsp;executeExtent(<a href="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</a>&nbsp;meta,
boolean&nbsp;subclasses,
<a href="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</a>&nbsp;fetch)</pre>
<div class="block">Return a provider for all instances of the given candidate class,
optionally including subclasses. The given candidate may be an
unmapped type with mapped subclasses. If the provider is iterated
within a data store transaction, returned instances should be locked.</div>
</li>
</ul>
<a name="newQuery(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newQuery</h4>
<pre><a href="../../../../org/apache/openjpa/kernel/StoreQuery.html" title="interface in org.apache.openjpa.kernel">StoreQuery</a>&nbsp;newQuery(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;language)</pre>
<div class="block">Return a query implementation suitable for this store. If the query
is iterated within a data store transaction, returned instances should
be locked. Return null if this store does not support native execution
of the given language. OpenJPA can execute JPQL in memory even without
back end support.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>language</code> - the query language</dd></dl>
</li>
</ul>
<a name="newFetchConfiguration()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newFetchConfiguration</h4>
<pre><a href="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</a>&nbsp;newFetchConfiguration()</pre>
<div class="block">Return a fetch configuration suitable for this runtime. Typically
will be or extend <code>FetchConfigurationImpl</code>.</div>
</li>
</ul>
<a name="compareVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compareVersion</h4>
<pre>int&nbsp;compareVersion(<a href="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;state,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;v1,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;v2)</pre>
<div class="block">Compare the two version objects.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>state</code> - the state manager for the object</dd><dd><code>v1</code> - the first version object to compare</dd><dd><code>v2</code> - the second version object to compare</dd>
<dt><span class="strong">Returns:</span></dt><dd><ul>
<li><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_LATER"><code>VERSION_LATER</code></a> if <code>v1</code>
is later than <code>v2</code></li>
<li><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_EARLIER"><code>VERSION_EARLIER</code></a> if <code>v1</code>
is earlier than <code>v2</code></li>
<li><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_SAME"><code>VERSION_SAME</code></a> if <code>v1</code>
is the same as <code>v2</code></li>
<li><a href="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_DIFFERENT"><code>VERSION_DIFFERENT</code></a> if <code>v1</code>
is different from <code>v2</code>, but the time
difference of the versions cannot be determined</li>
</ul></dd></dl>
</li>
</ul>
<a name="getDataStoreIdSequence(org.apache.openjpa.meta.ClassMetaData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataStoreIdSequence</h4>
<pre><a href="../../../../org/apache/openjpa/kernel/Seq.html" title="interface in org.apache.openjpa.kernel">Seq</a>&nbsp;getDataStoreIdSequence(<a href="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</a>&nbsp;forClass)</pre>
<div class="block">Return a sequence that generates datastore identity values for the
given class. This method will only be called when the identity strategy
for the class is one of:
<ul>
<li><a href="../../../../org/apache/openjpa/meta/ValueStrategies.html#NATIVE"><code>ValueStrategies.NATIVE</code></a></li>
<li><a href="../../../../org/apache/openjpa/meta/ValueStrategies.html#AUTOASSIGN"><code>ValueStrategies.AUTOASSIGN</code></a></li>
<li><a href="../../../../org/apache/openjpa/meta/ValueStrategies.html#INCREMENT"><code>ValueStrategies.INCREMENT</code></a></li>
</ul>
If the identity strategy cannot be represented as a sequence, return
null.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>0.4.0</dd></dl>
</li>
</ul>
<a name="getValueSequence(org.apache.openjpa.meta.FieldMetaData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValueSequence</h4>
<pre><a href="../../../../org/apache/openjpa/kernel/Seq.html" title="interface in org.apache.openjpa.kernel">Seq</a>&nbsp;getValueSequence(<a href="../../../../org/apache/openjpa/meta/FieldMetaData.html" title="class in org.apache.openjpa.meta">FieldMetaData</a>&nbsp;forField)</pre>
<div class="block">Return a sequence that generates values for the given field. This
method will only be called when the value strategy for the field
is one of:
<ul>
<li><a href="../../../../org/apache/openjpa/meta/ValueStrategies.html#NATIVE"><code>ValueStrategies.NATIVE</code></a></li>
<li><a href="../../../../org/apache/openjpa/meta/ValueStrategies.html#AUTOASSIGN"><code>ValueStrategies.AUTOASSIGN</code></a></li>
<li><a href="../../../../org/apache/openjpa/meta/ValueStrategies.html#INCREMENT"><code>ValueStrategies.INCREMENT</code></a></li>
</ul> If the value strategy cannot be represented as a sequence, return
null.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>0.4.0</dd></dl>
</li>
</ul>
<a name="close()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>close</h4>
<pre>void&nbsp;close()</pre>
<div class="block">Free any resources this store manager is using.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/openjpa/lib/util/Closeable.html#close()">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/openjpa/lib/util/Closeable.html" title="interface in org.apache.openjpa.lib.util">Closeable</a></code></dd>
<dt><span class="strong">Since:</span></dt>
<dd>0.2.5</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/StoreManager.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/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/openjpa/kernel/StoreQuery.html" title="interface in org.apache.openjpa.kernel"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/openjpa/kernel/StoreManager.html" target="_top">Frames</a></li>
<li><a href="StoreManager.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&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>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; 2006&#x2013;2017 <a href="http://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>