blob: 40e995fc2ee61f93e35b8e782c7ab40006a55e6d [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_35) on Wed Oct 10 18:40:31 CDT 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
AbstractStoreManager (OpenJPA Parent POM 2.2.1 API)
</TITLE>
<META NAME="date" CONTENT="2012-10-10">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AbstractStoreManager (OpenJPA Parent POM 2.2.1 API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractStoreManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreBrokerFactory.html" title="class in org.apache.openjpa.abstractstore"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/openjpa/abstractstore/AbstractStoreManager.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AbstractStoreManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.openjpa.abstractstore</FONT>
<BR>
Class AbstractStoreManager</H2>
<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">java.lang.Object</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.openjpa.abstractstore.AbstractStoreManager</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A>, <A HREF="../../../../org/apache/openjpa/lib/util/Closeable.html" title="interface in org.apache.openjpa.lib.util">Closeable</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/openjpa/xmlstore/XMLStoreManager.html" title="class in org.apache.openjpa.xmlstore">XMLStoreManager</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <B>AbstractStoreManager</B><DT>extends <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><DT>implements <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></DL>
</PRE>
<P>
Abstract store manager implementation to ease development of custom
OpenJPA back-ends. A concrete subclass must define implementations for the
following methods:
<ul>
<li><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#exists(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object)"><CODE>StoreManager.exists(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object)</CODE></A></li>
<li><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.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>
<li><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)"><CODE>load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)</CODE></A></li>
<li><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#flush(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)"><CODE>flush(Collection,Collection,Collection,Collection,Collection)</CODE></A></li>
<li><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#executeExtent(org.apache.openjpa.meta.ClassMetaData, boolean, org.apache.openjpa.kernel.FetchConfiguration)"><CODE>executeExtent(org.apache.openjpa.meta.ClassMetaData, boolean, org.apache.openjpa.kernel.FetchConfiguration)</CODE></A></li>
</ul> Additionally, subclasses should not attempt to acquire resources
until <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#open()"><CODE>open()</CODE></A> has been called. Store manager instances might be
created to call metadata methods such as <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#newConfiguration()"><CODE>newConfiguration()</CODE></A> or
<A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getUnsupportedOptions()"><CODE>getUnsupportedOptions()</CODE></A> and never opened. These instances should
not consume any data store resources.
Notes:
<ul>
<li>The <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)"><CODE>StoreManager.initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)</CODE></A> method is responsible
for creating new instances of objects freshly loaded from the
database. The method will be invoked with a <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel"><CODE>OpenJPAStateManager</CODE></A>
that the newly-loaded object should be associated with. To create the
new object and set up this association correctly, the implementation
should use the <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#initialize(java.lang.Class, org.apache.openjpa.kernel.PCState)"><CODE>OpenJPAStateManager.initialize(java.lang.Class, org.apache.openjpa.kernel.PCState)</CODE></A> method.</li>
<li>If your data store supports some sort of transaction or
unit of work, you should override the <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#begin()"><CODE>begin()</CODE></A>, <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#commit()"><CODE>commit()</CODE></A>,
and <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#rollback()"><CODE>rollback()</CODE></A> methods.</li>
<li>This class provides no infrastructure support for optimistic
transactions. To provide optimistic transaction support:
<ul>
<li>Override <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#beginOptimistic()"><CODE>beginOptimistic()</CODE></A>, <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#rollbackOptimistic()"><CODE>rollbackOptimistic()</CODE></A>,
and <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#syncVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object)"><CODE>syncVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object)</CODE></A>.</li>
<li>Override <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getUnsupportedOptions()"><CODE>getUnsupportedOptions()</CODE></A> to not include <A HREF="../../../../org/apache/openjpa/conf/OpenJPAConfiguration.html#OPTION_OPTIMISTIC"><CODE>OpenJPAConfiguration.OPTION_OPTIMISTIC</CODE></A> in the list of unsupported
options.</li>
<li>Ensure that your flush implementation sets the next
version for each modified object via the <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setNextVersion(java.lang.Object)"><CODE>OpenJPAStateManager.setNextVersion(java.lang.Object)</CODE></A> method.</li>
<li>If your version object does not implement <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang"><CODE>Comparable</CODE></A>,
override <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#compareVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object, java.lang.Object)"><CODE>compareVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object, java.lang.Object)</CODE></A>, which relies on the
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true#compareTo(T)" title="class or interface in java.lang"><CODE>Comparable.compareTo(T)</CODE></A> method.</li>
</ul></li>
<li>If your data store supports a mechanism for automatically
generating and managing identity values (or if you want to
provide that facility on top of your data store), implement
the <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getDataStoreIdSequence(org.apache.openjpa.meta.ClassMetaData)"><CODE>getDataStoreIdSequence(org.apache.openjpa.meta.ClassMetaData)</CODE></A> method if you want to use a
<code>long</code> as your datastore identity type and are
happy with OpenJPA's <A HREF="../../../../org/apache/openjpa/util/Id.html" title="class in org.apache.openjpa.util"><CODE>Id</CODE></A> class. To use another datastore identity
type, override <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getManagedType(java.lang.Object)"><CODE>getManagedType(java.lang.Object)</CODE></A>,
<A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getDataStoreIdType(org.apache.openjpa.meta.ClassMetaData)"><CODE>getDataStoreIdType(org.apache.openjpa.meta.ClassMetaData)</CODE></A>, <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#copyDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)"><CODE>copyDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)</CODE></A>, and
<A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#newDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)"><CODE>newDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)</CODE></A> instead. In either case, override
<A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getUnsupportedOptions()"><CODE>getUnsupportedOptions()</CODE></A> to not include
<A HREF="../../../../org/apache/openjpa/conf/OpenJPAConfiguration.html#OPTION_ID_DATASTORE"><CODE>OpenJPAConfiguration.OPTION_ID_DATASTORE</CODE></A> in the list of
unsupported options.</li>
<li>If your data store does not support queries (or if you do
not want to convert OpenJPA's query parse tree into a
datastore-specific query), you still have two options in terms
of query execution:
<ul>
<li><em>In-memory execution</em>: If you
execute a query against an extent or a class, OpenJPA will
automatically load the full extent of objects into memory and
execute the query in memory.</li>
<li><em>openjpa.MethodQL</em>: MethodQL allows
you to use the query APIs to execute a method that finds
data in your back-end and returns that data as a
<A HREF="../../../../org/apache/openjpa/lib/rop/ResultList.html" title="interface in org.apache.openjpa.lib.rop"><CODE>ResultList</CODE></A>. For more details on
MethodQL, see the OpenJPA Reference Guide.</li>
</ul></li>
</ul>
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>0.3.1</DD>
</DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#ctx">ctx</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.openjpa.kernel.StoreManager"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface org.apache.openjpa.kernel.<A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#FORCE_LOAD_ALL">FORCE_LOAD_ALL</A>, <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#FORCE_LOAD_DFG">FORCE_LOAD_DFG</A>, <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#FORCE_LOAD_NONE">FORCE_LOAD_NONE</A>, <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#FORCE_LOAD_REFRESH">FORCE_LOAD_REFRESH</A>, <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_DIFFERENT">VERSION_DIFFERENT</A>, <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_EARLIER">VERSION_EARLIER</A>, <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_LATER">VERSION_LATER</A>, <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_SAME">VERSION_SAME</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#AbstractStoreManager()">AbstractStoreManager</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#assignDataStoreId(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object)">assignDataStoreId</A></B>(<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;val)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assign a new datastore identity to the given instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#assignField(org.apache.openjpa.kernel.OpenJPAStateManager, int, boolean)">assignField</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assign a value to the given field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#assignObjectId(org.apache.openjpa.kernel.OpenJPAStateManager, boolean)">assignObjectId</A></B>(<A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A>&nbsp;sm,
boolean&nbsp;preFlush)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assign an object id to the given new instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#beforeStateChange(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.PCState)">beforeStateChange</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that the given state manager is about to change its
lifecycle state.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#begin()">begin</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OpenJPA assumes that after this method is invoked, all data
accesses through this store manager will be part of a single
unit of work that can be rolled back.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#beginOptimistic()">beginOptimistic</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No-op implementation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#cancelAll()">cancelAll</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>false</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#close()">close</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Free any resources this store manager is using.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#commit()">commit</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a no-op implementation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#compareVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object, java.lang.Object)">compareVersion</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Casts <code>v1</code> and <code>v2</code> to <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang"><CODE>Comparable</CODE></A>, and
invokes <code>v1.compareTo (v2)</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<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></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#copyDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)">copyDataStoreId</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy the given object id value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;<A HREF="../../../../org/apache/openjpa/lib/rop/ResultObjectProvider.html" title="interface in org.apache.openjpa.lib.rop">ResultObjectProvider</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#executeExtent(org.apache.openjpa.meta.ClassMetaData, boolean, org.apache.openjpa.kernel.FetchConfiguration)">executeExtent</A></B>(<A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>&nbsp;meta,
boolean&nbsp;subs,
<A HREF="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</A>&nbsp;fetch)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a <A HREF="../../../../org/apache/openjpa/lib/rop/ResultObjectProvider.html" title="interface in org.apache.openjpa.lib.rop"><CODE>ResultObjectProvider</CODE></A> that can return all instances
of <code>type</code>, optionally including subclasses as defined
by <code>subclasses</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<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></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#flush(java.util.Collection)">flush</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Breaks down <code>states</code> based on the objects' current
states, and delegates to
<A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#flush(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)"><CODE>flush(Collection,Collection,Collection,Collection,Collection)</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;<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></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#flush(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)">flush</A></B>(<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;pNew,
<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;pNewUpdated,
<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;pNewFlushedDeleted,
<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;pDirty,
<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;pDeleted)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Responsible for writing modifications happened back to the data
store.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<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></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getClientConnection()">getClientConnection</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>null</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getContext()">getContext</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the <A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel"><CODE>StoreContext</CODE></A> that this store manager is
associated with.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/Seq.html" title="interface in org.apache.openjpa.kernel">Seq</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getDataStoreIdSequence(org.apache.openjpa.meta.ClassMetaData)">getDataStoreIdSequence</A></B>(<A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>&nbsp;forClass)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the system-configured sequence.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<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></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getDataStoreIdType(org.apache.openjpa.meta.ClassMetaData)">getDataStoreIdType</A></B>(<A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>&nbsp;meta)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the class used by this StoreManager for datastore identity
values.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<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></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getManagedType(java.lang.Object)">getManagedType</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the persistent class for the given data store identity value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<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></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getPlatform()">getPlatform</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a string name to identify the platform of this
store manager.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<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/String.html?is-external=true" title="class or interface in java.lang">String</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getUnsupportedOptions()">getUnsupportedOptions</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a set of option names that this store manager does
not support.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/Seq.html" title="interface in org.apache.openjpa.kernel">Seq</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getValueSequence(org.apache.openjpa.meta.FieldMetaData)">getValueSequence</A></B>(<A HREF="../../../../org/apache/openjpa/meta/FieldMetaData.html" title="class in org.apache.openjpa.meta">FieldMetaData</A>&nbsp;forField)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)">initialize</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is invoked when OpenJPA needs to load an object whose
identity is known but which has not yet been loaded from the data
store.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)">load</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is invoked when OpenJPA needs to load additional data
into an object that has already been at least partially loaded by
a previous <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)"><CODE>initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)</CODE></A> invocation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<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></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#loadAll(java.util.Collection, org.apache.openjpa.kernel.PCState, int, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)">loadAll</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This implementation just delegates to the proper singular
method (<A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)"><CODE>StoreManager.initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)</CODE></A> or <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)"><CODE>StoreManager.load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)</CODE></A>)
depending on each state manager's state.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/openjpa/conf/OpenJPAConfiguration.html" title="interface in org.apache.openjpa.conf">OpenJPAConfiguration</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#newConfiguration()">newConfiguration</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new configuration instance for this runtime.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<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></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#newDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)">newDataStoreId</A></B>(<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;val,
<A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>&nbsp;meta)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new unique datastore identity for the given type from
the given oid value (presumably pk, stringified oid, or oid instance).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#newFetchConfiguration()">newFetchConfiguration</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a fetch configuration suitable for this runtime.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/StoreQuery.html" title="interface in org.apache.openjpa.kernel">StoreQuery</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#newQuery(java.lang.String)">newQuery</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a query implementation suitable for this store.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#open()">open</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No-op implementation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#releaseConnection()">releaseConnection</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Override to release previously-retained connection.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#retainConnection()">retainConnection</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Override to retain a dedicated connection.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#rollback()">rollback</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a no-op implementation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#rollbackOptimistic()">rollbackOptimistic</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No-op implementation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#setContext(org.apache.openjpa.kernel.StoreContext)">setContext</A></B>(<A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A>&nbsp;ctx)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set a reference to the corresponding context.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#syncVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object)">syncVersion</A></B>(<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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Since this store manager does not provide optimistic locking
support, this method always returns <code>true</code>.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<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></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.kernel.StoreManager"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.openjpa.kernel.<A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#exists(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object)">exists</A>, <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#isCached(java.util.List, java.util.BitSet)">isCached</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="ctx"><!-- --></A><H3>
ctx</H3>
<PRE>
protected <A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A> <B>ctx</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="AbstractStoreManager()"><!-- --></A><H3>
AbstractStoreManager</H3>
<PRE>
public <B>AbstractStoreManager</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="setContext(org.apache.openjpa.kernel.StoreContext)"><!-- --></A><H3>
setContext</H3>
<PRE>
public final void <B>setContext</B>(<A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A>&nbsp;ctx)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#setContext(org.apache.openjpa.kernel.StoreContext)">StoreManager</A></CODE></B></DD>
<DD>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.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#setContext(org.apache.openjpa.kernel.StoreContext)">setContext</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getContext()"><!-- --></A><H3>
getContext</H3>
<PRE>
public <A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A> <B>getContext</B>()</PRE>
<DL>
<DD>Returns the <A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel"><CODE>StoreContext</CODE></A> that this store manager is
associated with.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="open()"><!-- --></A><H3>
open</H3>
<PRE>
protected void <B>open</B>()</PRE>
<DL>
<DD>No-op implementation. Ready this store manager for persistent operations.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="beginOptimistic()"><!-- --></A><H3>
beginOptimistic</H3>
<PRE>
public void <B>beginOptimistic</B>()</PRE>
<DL>
<DD>No-op implementation. Override this method to provide optimistic
locking semantics for your data store if you need notification of
the beginning of an optimistic transaction.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#beginOptimistic()">beginOptimistic</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="rollbackOptimistic()"><!-- --></A><H3>
rollbackOptimistic</H3>
<PRE>
public void <B>rollbackOptimistic</B>()</PRE>
<DL>
<DD>No-op implementation. Override this method to provide optimistic
locking semantics for your data store if you need notification of
a rollback of an optimistic transaction before <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#begin()"><CODE>begin()</CODE></A> is invoked.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#rollbackOptimistic()">rollbackOptimistic</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="begin()"><!-- --></A><H3>
begin</H3>
<PRE>
public void <B>begin</B>()</PRE>
<DL>
<DD>OpenJPA assumes that after this method is invoked, all data
accesses through this store manager will be part of a single
unit of work that can be rolled back.
This is a no-op implementation. If your data store does not
support any concept of locking or transactions, you need not
override this method.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#begin()">begin</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="commit()"><!-- --></A><H3>
commit</H3>
<PRE>
public void <B>commit</B>()</PRE>
<DL>
<DD>This is a no-op implementation. If your data store does not
have a concept of transactions or a unit of work, you need not
override this method. If it does, then override this method to
notify the data store that the current transaction should be committed.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#commit()">commit</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="rollback()"><!-- --></A><H3>
rollback</H3>
<PRE>
public void <B>rollback</B>()</PRE>
<DL>
<DD>This is a no-op implementation. If your data store does not
have a concept of transactions or a unit of work, you need not
override this method. If it does, then override this method to
notify the data store that the current transaction should be rolled back.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#rollback()">rollback</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="syncVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object)"><!-- --></A><H3>
syncVersion</H3>
<PRE>
public boolean <B>syncVersion</B>(<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>
<DL>
<DD>Since this store manager does not provide optimistic locking
support, this method always returns <code>true</code>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#syncVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object)">syncVersion</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sm</CODE> - the instance to check<DD><CODE>edata</CODE> - the current execution data, or null if not
given to the calling method of the context
<DT><B>Returns:</B><DD>true if the instance still exists in the
datastore and is up-to-date, false otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)"><!-- --></A><H3>
initialize</H3>
<PRE>
public abstract boolean <B>initialize</B>(<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>
<DL>
<DD>This method is invoked when OpenJPA needs to load an object whose
identity is known but which has not yet been loaded from the data
store. <code>sm</code> is a partially-set-up state manager for this
object. The ID and least-derived type information for the instance
to load can be obtained by invoking
<code>sm.getObjectId()</code> and <code>sm.getMetaData()</code>.
When implementing this method, load the data for this object from
the data store, determine the most-derived subclass of the newly-loaded
data, and then use the <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#initialize(java.lang.Class, org.apache.openjpa.kernel.PCState)"><CODE>OpenJPAStateManager.initialize(java.lang.Class, org.apache.openjpa.kernel.PCState)</CODE></A> method to
populate <code>sm</code> with a new instance of the appropriate type.
Once <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#initialize(java.lang.Class, org.apache.openjpa.kernel.PCState)"><CODE>OpenJPAStateManager.initialize(java.lang.Class, org.apache.openjpa.kernel.PCState)</CODE></A> has been invoked, proceed to
load field data into <code>sm</code> as in the <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)"><CODE>load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)</CODE></A> method, by
using <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#store(int, java.lang.Object)"><CODE>OpenJPAStateManager.store(int, java.lang.Object)</CODE></A> (or the appropriate
<code>OpenJPAStateManager.store<em>type</em></code> method) to put the
data into the object.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)">initialize</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sm</CODE> - the instance to initialize<DD><CODE>state</CODE> - the lifecycle state to initialize the state manager with<DD><CODE>fetch</CODE> - configuration for how to load the instance<DD><CODE>edata</CODE> - the current execution data, or null if not
given to the calling method of the broker
<DT><B>Returns:</B><DD>true if the matching instance exists in the data
store, false otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)"><!-- --></A><H3>
load</H3>
<PRE>
public abstract boolean <B>load</B>(<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>
<DL>
<DD>This method is invoked when OpenJPA needs to load additional data
into an object that has already been at least partially loaded by
a previous <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)"><CODE>initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)</CODE></A> invocation.
Load data into <code>sm</code> by using <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#store(int, java.lang.Object)"><CODE>OpenJPAStateManager.store(int, java.lang.Object)</CODE></A> (or the appropriate
<code>OpenJPAStateManager.store<em>type</em></code> method) to put the
data into the object.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)">load</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sm</CODE> - the instance to load<DD><CODE>fields</CODE> - set of fields to load; all field indexes in this
set must be loaded; this set is mutable<DD><CODE>fetch</CODE> - the fetch configuration to use when loading
related objects<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><CODE>edata</CODE> - the current execution data, or null if not
given to the calling method of the broker
<DT><B>Returns:</B><DD>false if the object no longer exists in the
database, true otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="loadAll(java.util.Collection, org.apache.openjpa.kernel.PCState, int, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)"><!-- --></A><H3>
loadAll</H3>
<PRE>
public <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; <B>loadAll</B>(<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>
<DL>
<DD>This implementation just delegates to the proper singular
method (<A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)"><CODE>StoreManager.initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)</CODE></A> or <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)"><CODE>StoreManager.load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)</CODE></A>)
depending on each state manager's state. If your data store provides
bulk loading APIs, overriding this method to be more clever may be
advantageous.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#loadAll(java.util.Collection, org.apache.openjpa.kernel.PCState, int, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)">loadAll</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sms</CODE> - the state manager instances to load<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><CODE>load</CODE> - one of the FORCE_LOAD_* constants describing the
fields to force-load if this is a refresh or retrieve action<DD><CODE>fetch</CODE> - the current fetch configuration to use when loading
related objects<DD><CODE>edata</CODE> - the current execution data, or null if not
given to the calling method of the broker
<DT><B>Returns:</B><DD>a collection of the state manager identities for
which no data store record exists<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/openjpa/util/ImplHelper.html#loadAll(java.util.Collection, org.apache.openjpa.kernel.StoreManager, org.apache.openjpa.kernel.PCState, int, org.apache.openjpa.kernel.FetchConfiguration, java.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></DL>
</DD>
</DL>
<HR>
<A NAME="flush(java.util.Collection)"><!-- --></A><H3>
flush</H3>
<PRE>
public <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; <B>flush</B>(<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>
<DL>
<DD>Breaks down <code>states</code> based on the objects' current
states, and delegates to
<A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#flush(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)"><CODE>flush(Collection,Collection,Collection,Collection,Collection)</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#flush(java.util.Collection)">flush</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>org.apache.openjpa.util.ApplicationIds#assign()</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="beforeStateChange(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.PCState)"><!-- --></A><H3>
beforeStateChange</H3>
<PRE>
public void <B>beforeStateChange</B>(<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>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#beforeStateChange(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.PCState)">StoreManager</A></CODE></B></DD>
<DD>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.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#beforeStateChange(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.PCState)">beforeStateChange</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="assignObjectId(org.apache.openjpa.kernel.OpenJPAStateManager, boolean)"><!-- --></A><H3>
assignObjectId</H3>
<PRE>
public boolean <B>assignObjectId</B>(<A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A>&nbsp;sm,
boolean&nbsp;preFlush)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#assignObjectId(org.apache.openjpa.kernel.OpenJPAStateManager, boolean)">StoreManager</A></CODE></B></DD>
<DD>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.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#assignObjectId(org.apache.openjpa.kernel.OpenJPAStateManager, boolean)">assignObjectId</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
<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>StoreManager.flush(java.util.Collection<org.apache.openjpa.kernel.OpenJPAStateManager>)</CODE></A><DT><B>See Also:</B><DD><A HREF="../../../../org/apache/openjpa/util/ImplHelper.html#generateFieldValue(org.apache.openjpa.kernel.StoreContext, org.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, org.apache.openjpa.meta.ClassMetaData, int)"><CODE>ImplHelper.generateIdentityValue(org.apache.openjpa.kernel.StoreContext, org.apache.openjpa.meta.ClassMetaData, int)</CODE></A>,
<CODE>org.apache.openjpa.util.ApplicationIds#assign()</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="assignDataStoreId(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object)"><!-- --></A><H3>
assignDataStoreId</H3>
<PRE>
protected boolean <B>assignDataStoreId</B>(<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;val)</PRE>
<DL>
<DD>Assign a new datastore identity to the given instance. This given
value may be null.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="assignField(org.apache.openjpa.kernel.OpenJPAStateManager, int, boolean)"><!-- --></A><H3>
assignField</H3>
<PRE>
public boolean <B>assignField</B>(<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>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#assignField(org.apache.openjpa.kernel.OpenJPAStateManager, int, boolean)">StoreManager</A></CODE></B></DD>
<DD>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.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#assignField(org.apache.openjpa.kernel.OpenJPAStateManager, int, boolean)">assignField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
<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>StoreManager.flush(java.util.Collection<org.apache.openjpa.kernel.OpenJPAStateManager>)</CODE></A><DT><B>See Also:</B><DD><A HREF="../../../../org/apache/openjpa/util/ImplHelper.html#generateFieldValue(org.apache.openjpa.kernel.StoreContext, org.apache.openjpa.meta.FieldMetaData)"><CODE>ImplHelper.generateFieldValue(org.apache.openjpa.kernel.StoreContext, org.apache.openjpa.meta.FieldMetaData)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getManagedType(java.lang.Object)"><!-- --></A><H3>
getManagedType</H3>
<PRE>
public <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; <B>getManagedType</B>(<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>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#getManagedType(java.lang.Object)">StoreManager</A></CODE></B></DD>
<DD>Return the persistent class for the given data store identity value.
If the given value is not a datastore identity object, return null.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#getManagedType(java.lang.Object)">getManagedType</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getDataStoreIdType(org.apache.openjpa.meta.ClassMetaData)"><!-- --></A><H3>
getDataStoreIdType</H3>
<PRE>
public <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; <B>getDataStoreIdType</B>(<A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>&nbsp;meta)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#getDataStoreIdType(org.apache.openjpa.meta.ClassMetaData)">StoreManager</A></CODE></B></DD>
<DD>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.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#getDataStoreIdType(org.apache.openjpa.meta.ClassMetaData)">getDataStoreIdType</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="copyDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)"><!-- --></A><H3>
copyDataStoreId</H3>
<PRE>
public <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> <B>copyDataStoreId</B>(<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>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#copyDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)">StoreManager</A></CODE></B></DD>
<DD>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.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#copyDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)">copyDataStoreId</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="newDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)"><!-- --></A><H3>
newDataStoreId</H3>
<PRE>
public <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> <B>newDataStoreId</B>(<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;val,
<A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>&nbsp;meta)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#newDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)">StoreManager</A></CODE></B></DD>
<DD>Create a new unique datastore identity for the given type from
the given oid value (presumably pk, stringified oid, or oid instance).
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#newDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)">newDataStoreId</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="retainConnection()"><!-- --></A><H3>
retainConnection</H3>
<PRE>
public void <B>retainConnection</B>()</PRE>
<DL>
<DD>Override to retain a dedicated connection.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#retainConnection()">retainConnection</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="releaseConnection()"><!-- --></A><H3>
releaseConnection</H3>
<PRE>
public void <B>releaseConnection</B>()</PRE>
<DL>
<DD>Override to release previously-retained connection.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#releaseConnection()">releaseConnection</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getClientConnection()"><!-- --></A><H3>
getClientConnection</H3>
<PRE>
public <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> <B>getClientConnection</B>()</PRE>
<DL>
<DD>Returns <code>null</code>. If your data store can provide a
distinct connection object, return it here.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#getClientConnection()">getClientConnection</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="executeExtent(org.apache.openjpa.meta.ClassMetaData, boolean, org.apache.openjpa.kernel.FetchConfiguration)"><!-- --></A><H3>
executeExtent</H3>
<PRE>
public abstract <A HREF="../../../../org/apache/openjpa/lib/rop/ResultObjectProvider.html" title="interface in org.apache.openjpa.lib.rop">ResultObjectProvider</A> <B>executeExtent</B>(<A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>&nbsp;meta,
boolean&nbsp;subs,
<A HREF="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</A>&nbsp;fetch)</PRE>
<DL>
<DD>Create a <A HREF="../../../../org/apache/openjpa/lib/rop/ResultObjectProvider.html" title="interface in org.apache.openjpa.lib.rop"><CODE>ResultObjectProvider</CODE></A> that can return all instances
of <code>type</code>, optionally including subclasses as defined
by <code>subclasses</code>.
The implementation of the result provider will typically execute
some sort of data store query to find all the applicable objects, loop
through the results, extracting object IDs from the data, and invoke
<A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html#find(java.lang.Object, org.apache.openjpa.kernel.FetchConfiguration, java.util.BitSet, java.lang.Object, int)"><CODE>StoreContext.find(Object,FetchConfiguration,BitSet,Object,int)</CODE></A>
on each OID. When invoking this method, the first argument is the OID.
The second is the given fetch configuration. The
third argument is a mask of fields to exclude from loading; it will
typically be null. The fourth argument is an object that will be passed
through to <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)"><CODE>initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)</CODE></A> or <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)"><CODE>load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)</CODE></A>, and typically will
contain the actual data to load. For example, for a JDBC-based store
manager, this might be the result set that is being iterated over. If
this argument is <code>null</code>, then the <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)"><CODE>initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)</CODE></A> or
<A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)"><CODE>load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object)</CODE></A> method will have to issue another command to the data
store in order to fetch the data to be loaded.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#executeExtent(org.apache.openjpa.meta.ClassMetaData, boolean, org.apache.openjpa.kernel.FetchConfiguration)">executeExtent</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="newQuery(java.lang.String)"><!-- --></A><H3>
newQuery</H3>
<PRE>
public <A HREF="../../../../org/apache/openjpa/kernel/StoreQuery.html" title="interface in org.apache.openjpa.kernel">StoreQuery</A> <B>newQuery</B>(<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>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#newQuery(java.lang.String)">StoreManager</A></CODE></B></DD>
<DD>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.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#newQuery(java.lang.String)">newQuery</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>language</CODE> - the query language</DL>
</DD>
</DL>
<HR>
<A NAME="newFetchConfiguration()"><!-- --></A><H3>
newFetchConfiguration</H3>
<PRE>
public <A HREF="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</A> <B>newFetchConfiguration</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#newFetchConfiguration()">StoreManager</A></CODE></B></DD>
<DD>Return a fetch configuration suitable for this runtime. Typically
will be or extend <code>FetchConfigurationImpl</code>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#newFetchConfiguration()">newFetchConfiguration</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="compareVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object, java.lang.Object)"><!-- --></A><H3>
compareVersion</H3>
<PRE>
public int <B>compareVersion</B>(<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>
<DL>
<DD>Casts <code>v1</code> and <code>v2</code> to <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang"><CODE>Comparable</CODE></A>, and
invokes <code>v1.compareTo (v2)</code>. If <code>v1</code> is less
than <code>v2</code>, returns <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_EARLIER"><CODE>StoreManager.VERSION_EARLIER</CODE></A>. If the same,
returns <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_SAME"><CODE>StoreManager.VERSION_SAME</CODE></A>. Otherwise, returns <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_LATER"><CODE>StoreManager.VERSION_LATER</CODE></A>. If either <code>v1</code> or <code>v2</code> are
<code>null</code>, returns <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_DIFFERENT"><CODE>StoreManager.VERSION_DIFFERENT</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#compareVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object, java.lang.Object)">compareVersion</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>state</CODE> - the state manager for the object<DD><CODE>v1</CODE> - the first version object to compare<DD><CODE>v2</CODE> - the second version object to compare
<DT><B>Returns:</B><DD><ul>
<li><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#VERSION_LATER"><CODE>StoreManager.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>StoreManager.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>StoreManager.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>StoreManager.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></DL>
</DD>
</DL>
<HR>
<A NAME="getDataStoreIdSequence(org.apache.openjpa.meta.ClassMetaData)"><!-- --></A><H3>
getDataStoreIdSequence</H3>
<PRE>
public <A HREF="../../../../org/apache/openjpa/kernel/Seq.html" title="interface in org.apache.openjpa.kernel">Seq</A> <B>getDataStoreIdSequence</B>(<A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>&nbsp;forClass)</PRE>
<DL>
<DD>Returns the system-configured sequence. To use some other sort
of datastore identifier (a GUID, string, or someting of that nature),
override <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getManagedType(java.lang.Object)"><CODE>getManagedType(java.lang.Object)</CODE></A>,
<A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getDataStoreIdType(org.apache.openjpa.meta.ClassMetaData)"><CODE>getDataStoreIdType(org.apache.openjpa.meta.ClassMetaData)</CODE></A>, <A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#copyDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)"><CODE>copyDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)</CODE></A>,
<A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#newDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)"><CODE>newDataStoreId(java.lang.Object, org.apache.openjpa.meta.ClassMetaData)</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#getDataStoreIdSequence(org.apache.openjpa.meta.ClassMetaData)">getDataStoreIdSequence</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getValueSequence(org.apache.openjpa.meta.FieldMetaData)"><!-- --></A><H3>
getValueSequence</H3>
<PRE>
public <A HREF="../../../../org/apache/openjpa/kernel/Seq.html" title="interface in org.apache.openjpa.kernel">Seq</A> <B>getValueSequence</B>(<A HREF="../../../../org/apache/openjpa/meta/FieldMetaData.html" title="class in org.apache.openjpa.meta">FieldMetaData</A>&nbsp;forField)</PRE>
<DL>
<DD>Returns null.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#getValueSequence(org.apache.openjpa.meta.FieldMetaData)">getValueSequence</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="cancelAll()"><!-- --></A><H3>
cancelAll</H3>
<PRE>
public boolean <B>cancelAll</B>()</PRE>
<DL>
<DD>Returns <code>false</code>. If your data store supports
cancelling queries, this method should cancel any
currently-running queries and return <code>true</code> if any
were cancelled.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#cancelAll()">cancelAll</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if any statements cancelled, false otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="close()"><!-- --></A><H3>
close</H3>
<PRE>
public void <B>close</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#close()">StoreManager</A></CODE></B></DD>
<DD>Free any resources this store manager is using.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel">StoreManager</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/lib/util/Closeable.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/lib/util/Closeable.html" title="interface in org.apache.openjpa.lib.util">Closeable</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="flush(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)"><!-- --></A><H3>
flush</H3>
<PRE>
protected abstract <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; <B>flush</B>(<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;pNew,
<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;pNewUpdated,
<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;pNewFlushedDeleted,
<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;pDirty,
<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;pDeleted)</PRE>
<DL>
<DD>Responsible for writing modifications happened back to the data
store. If you do not remove the
<A HREF="../../../../org/apache/openjpa/conf/OpenJPAConfiguration.html#OPTION_INC_FLUSH"><CODE>OpenJPAConfiguration.OPTION_INC_FLUSH</CODE></A> option in
<A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreManager.html#getUnsupportedOptions()"><CODE>getUnsupportedOptions()</CODE></A>, this will be called only once at the
end of a transaction. Otherwise, it may be called periodically
throughout the course of a transaction.
If this store manager supports optimistic transactions, datastore
version information should be updated during flush, and the state
manager's version indicator should be updated through the
<A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setNextVersion(java.lang.Object)"><CODE>OpenJPAStateManager.setNextVersion(java.lang.Object)</CODE></A> method.
This method will only be invoked if there are meaningful changes
to store. This differs from the behavior of <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html#flush(java.util.Collection)"><CODE>StoreManager.flush(java.util.Collection<org.apache.openjpa.kernel.OpenJPAStateManager>)</CODE></A>,
which may be invoked with a collection of objects in states that
do not require any datastore action (for example, objects in the
transient-transactional state).
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pNew</CODE> - Objects that should be added to the store,
and that have not previously been flushed.<DD><CODE>pNewUpdated</CODE> - New objects that have been modified since
they were initially flushed. These were
in <code>persistentNew</code> in an earlier flush invocation.<DD><CODE>pNewFlushedDeleted</CODE> - New objects that have been deleted since
they were initially flushed. These were
in <code>persistentNew</code> in an earlier flush invocation.<DD><CODE>pDirty</CODE> - Objects that were loaded from the data
store and have since been modified.<DD><CODE>pDeleted</CODE> - Objects that were loaded from the data
store and have since been deleted. These
may have been in a previous flush invocation's persistentDirty list.
<DT><B>Returns:</B><DD>a collection of exceptions encountered during flushing.</DL>
</DD>
</DL>
<HR>
<A NAME="newConfiguration()"><!-- --></A><H3>
newConfiguration</H3>
<PRE>
protected <A HREF="../../../../org/apache/openjpa/conf/OpenJPAConfiguration.html" title="interface in org.apache.openjpa.conf">OpenJPAConfiguration</A> <B>newConfiguration</B>()</PRE>
<DL>
<DD>Return a new configuration instance for this runtime. Configuration
data is maintained at the factory level and is available to all OpenJPA
components; therefore it is a good place to maintain shared resources
such as connection pools, etc.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getUnsupportedOptions()"><!-- --></A><H3>
getUnsupportedOptions</H3>
<PRE>
protected <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/String.html?is-external=true" title="class or interface in java.lang">String</A>&gt; <B>getUnsupportedOptions</B>()</PRE>
<DL>
<DD>Returns a set of option names that this store manager does
not support. By default, returns the following:
<ul>
<li><A HREF="../../../../org/apache/openjpa/conf/OpenJPAConfiguration.html#OPTION_OPTIMISTIC"><CODE>OpenJPAConfiguration.OPTION_OPTIMISTIC</CODE></A></li>
<li><A HREF="../../../../org/apache/openjpa/conf/OpenJPAConfiguration.html#OPTION_ID_DATASTORE"><CODE>OpenJPAConfiguration.OPTION_ID_DATASTORE</CODE></A></li>
<li><A HREF="../../../../org/apache/openjpa/conf/OpenJPAConfiguration.html#OPTION_INC_FLUSH"><CODE>OpenJPAConfiguration.OPTION_INC_FLUSH</CODE></A></li>
<li><A HREF="../../../../org/apache/openjpa/conf/OpenJPAConfiguration.html#OPTION_VALUE_AUTOASSIGN"><CODE>OpenJPAConfiguration.OPTION_VALUE_AUTOASSIGN</CODE></A></li>
<li><A HREF="../../../../org/apache/openjpa/conf/OpenJPAConfiguration.html#OPTION_VALUE_INCREMENT"><CODE>OpenJPAConfiguration.OPTION_VALUE_INCREMENT</CODE></A></li>
<li><A HREF="../../../../org/apache/openjpa/conf/OpenJPAConfiguration.html#OPTION_DATASTORE_CONNECTION"><CODE>OpenJPAConfiguration.OPTION_DATASTORE_CONNECTION</CODE></A></li>
</ul>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getPlatform()"><!-- --></A><H3>
getPlatform</H3>
<PRE>
protected <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> <B>getPlatform</B>()</PRE>
<DL>
<DD>Returns a string name to identify the platform of this
store manager. Returns the class name of this store manager by default.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractStoreManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/openjpa/abstractstore/AbstractStoreBrokerFactory.html" title="class in org.apache.openjpa.abstractstore"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/openjpa/abstractstore/AbstractStoreManager.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AbstractStoreManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2006-2012 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>