<!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_22) on Wed Feb 16 14:01:13 CST 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
OpenJPAStateManager (OpenJPA Parent POM 2.1.0 API)
</TITLE>

<META NAME="date" CONTENT="2011-02-16">

<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="OpenJPAStateManager (OpenJPA Parent POM 2.1.0 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/OpenJPAStateManager.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/kernel/OpenJPASavepoint.html" title="class in org.apache.openjpa.kernel"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/OrderingMergedResultObjectProvider.html" title="class in org.apache.openjpa.kernel"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/openjpa/kernel/OpenJPAStateManager.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="OpenJPAStateManager.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;CONSTR&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;CONSTR&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.kernel</FONT>
<BR>
Interface OpenJPAStateManager</H2>
<DL>
<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldManager.html" title="interface in org.apache.openjpa.enhance">FieldManager</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html" title="interface in org.apache.openjpa.enhance">StateManager</A></DD>
</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/openjpa/kernel/DetachedStateManager.html" title="class in org.apache.openjpa.kernel">DetachedStateManager</A>, <A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.html" title="class in org.apache.openjpa.kernel">DetachedValueStateManager</A>, <A HREF="../../../../org/apache/openjpa/kernel/ObjectIdStateManager.html" title="class in org.apache.openjpa.kernel">ObjectIdStateManager</A>, <A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html" title="class in org.apache.openjpa.kernel">StateManagerImpl</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>OpenJPAStateManager</B><DT>extends <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html" title="interface in org.apache.openjpa.enhance">StateManager</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldManager.html" title="interface in org.apache.openjpa.enhance">FieldManager</A></DL>
</PRE>

<P>
Interface implemented by OpenJPA state managers. Each state manager
 manages the state of a single persistence capable instance. The
 state manager is also responsible for all communications about the
 instance to the <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel"><CODE>StoreManager</CODE></A>.
  The <code>fetchXXXField</code> and <code>storeXXXField</code>
 methods can be used to get and set fields of the managed persistent object.
 Most back-end code, however, should use the similar
 <code>fetchXXX</code> and <code>storeXXX</code> methods in place of
 the field methods. These methods function just like the field methods, but
 also pass the value through the externalizer and factory the field may have.
<P>

<P>
<DL>
<DT><B>Author:</B></DT>
  <DD>Abe White</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>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#SET_ATTACH">SET_ATTACH</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The field is being attached by a detached state manager; the value is
 from the detached instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#SET_REMOTE">SET_REMOTE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The remote broker framework is setting the field on the server.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#SET_USER">SET_USER</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A user is setting the field.</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>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#assignObjectId(boolean)">assignObjectId</A></B>(boolean&nbsp;flush)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ask the store manager to assign a permanent oid to this new 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/kernel/OpenJPAStateManager.html#beforeRefresh(boolean)">beforeRefresh</A></B>(boolean&nbsp;refreshAll)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepare the instance for refresh</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/kernel/OpenJPAStateManager.html#dirty(int)">dirty</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark the given field as dirty.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#fetch(int)">fetch</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the externalized value of the field with the given index as an
 object.</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/kernel/OpenJPAStateManager.html#fetchBoolean(int)">fetchBoolean</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the external value of the given field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchByte(int)">fetchByte</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the external value of the given field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;char</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchChar(int)">fetchChar</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the external value of the given field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchDouble(int)">fetchDouble</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the external value of the given field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#fetchField(int, boolean)">fetchField</A></B>(int&nbsp;field,
           boolean&nbsp;transitions)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value of the field with the given index as an object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchFloat(int)">fetchFloat</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the external value of the given field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#fetchInitialField(int)">fetchInitialField</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value of the field at the specified index as of the
 beginning of the transaction.</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/kernel/OpenJPAStateManager.html#fetchInt(int)">fetchInt</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the external value of the given field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchLong(int)">fetchLong</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the external value of the given field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#fetchObject(int)">fetchObject</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the external value of the given field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;short</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchShort(int)">fetchShort</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the external value of the given field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#fetchString(int)">fetchString</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the external value of the given field.</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/kernel/OpenJPAStateManager.html#getContext()">getContext</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the managing context.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/6/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getDirty()">getDirty</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a read-only mask of the indexes of all dirty fields.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/6/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getFlushed()">getFlushed</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a read-only mask of the indexes of all fields that have been
 flushed since they were last changed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#getId()">getId</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the identifier for this state manager.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#getImplData()">getImplData</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An object that concrete back ends can associate with each instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#getImplData(int)">getImplData</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Field-level impl data.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#getIntermediate(int)">getIntermediate</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use intermediate field data to store intermediate information that
 might be available before the field is fully loaded.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/6/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getLoaded()">getLoaded</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a read-only mask of the indexes of all loaded fields.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#getLock()">getLock</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The lock object set for this instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#getManagedInstance()">getManagedInstance</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the managed 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/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getMetaData()">getMetaData</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the metadata for this instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#getObjectId()">getObjectId</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the instance's object id.</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/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getOwner()">getOwner</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the owning state if this is an embedded instance.</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/kernel/OpenJPAStateManager.html#getOwnerIndex()">getOwnerIndex</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the owning value's field index</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/PCState.html" title="class in org.apache.openjpa.kernel">PCState</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getPCState()">getPCState</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the state that this object is in.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getPersistenceCapable()">getPersistenceCapable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the <A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance"><CODE>PersistenceCapable</CODE></A> instance that provides access to
 the instance managed by this state manager.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/6/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getUnloaded(org.apache.openjpa.kernel.FetchConfiguration)">getUnloaded</A></B>(<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;Return a mutable mask of the unloaded fields that need loading based
 on the given fetch configuration.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#getVersion()">getVersion</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the current version indicator for this 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/kernel/OpenJPAStateManager.html#initialize(java.lang.Class, org.apache.openjpa.kernel.PCState)">initialize</A></B>(<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;forType,
           <A HREF="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</A>&nbsp;state)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize the state manager with a new instance of the given
 persistence capable type and the proper lifecycle state.</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/kernel/OpenJPAStateManager.html#isDefaultValue(int)">isDefaultValue</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if the given field has a default value.</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/kernel/OpenJPAStateManager.html#isEmbedded()">isEmbedded</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if this instance has an owner, meaning it is an embedded
 value.</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/kernel/OpenJPAStateManager.html#isFlushed()">isFlushed</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return whether this object has been flushed to the datastore in this
 transaction.</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/kernel/OpenJPAStateManager.html#isFlushedDirty()">isFlushedDirty</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return whether this object has been flushed, then dirtied again.</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/kernel/OpenJPAStateManager.html#isImplDataCacheable()">isImplDataCacheable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether the instance-level impl data can be shared among instances
 in different contexts if L2 caching is enabled.</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/kernel/OpenJPAStateManager.html#isImplDataCacheable(int)">isImplDataCacheable</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether the field's impl data is loaded and can be shared among
 instances in different contexts if L2 caching is enabled.</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/kernel/OpenJPAStateManager.html#isProvisional()">isProvisional</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return whether this object is provisionally persistent.</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/kernel/OpenJPAStateManager.html#isVersionCheckRequired()">isVersionCheckRequired</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this state needs to issue a version check at flush time.</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/kernel/OpenJPAStateManager.html#isVersionUpdateRequired()">isVersionUpdateRequired</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this state needs to issue a version update, possibly
 as a result of being locked.</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/kernel/OpenJPAStateManager.html#load(org.apache.openjpa.kernel.FetchConfiguration)">load</A></B>(<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;Load fetch group fields.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#newFieldProxy(int)">newFieldProxy</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new hollow proxy instance for the given field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#newProxy(int)">newProxy</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new hollow proxy instance for the given field.</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/kernel/OpenJPAStateManager.html#removed(int, java.lang.Object, boolean)">removed</A></B>(int&nbsp;field,
        <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;removed,
        boolean&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an element has been removed from the given field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#setImplData(int, java.lang.Object)">setImplData</A></B>(int&nbsp;field,
            <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;data)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Field-level impl data.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/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/kernel/OpenJPAStateManager.html#setImplData(java.lang.Object, boolean)">setImplData</A></B>(<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;data,
            boolean&nbsp;cacheable)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An object that concrete back ends can associate with each 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/kernel/OpenJPAStateManager.html#setIntermediate(int, java.lang.Object)">setIntermediate</A></B>(int&nbsp;field,
                <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use intermediate field data to store intermediate information that
 might be available before the field is fully loaded.</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/kernel/OpenJPAStateManager.html#setLock(java.lang.Object)">setLock</A></B>(<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;lock)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The lock object set for this 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/kernel/OpenJPAStateManager.html#setNextVersion(java.lang.Object)">setNextVersion</A></B>(<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;version)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the next version indicator in the datastore pending a successful
 flush.</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/kernel/OpenJPAStateManager.html#setObjectId(java.lang.Object)">setObjectId</A></B>(<A HREF="http://java.sun.com/j2se/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;Set the object id for the managed 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/kernel/OpenJPAStateManager.html#setRemote(int, java.lang.Object)">setRemote</A></B>(int&nbsp;field,
          <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the given field to the given value.</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/kernel/OpenJPAStateManager.html#setVersion(java.lang.Object)">setVersion</A></B>(<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;version)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the version indicator for this instance, as loaded from the
 data store.</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/kernel/OpenJPAStateManager.html#store(int, java.lang.Object)">store</A></B>(int&nbsp;field,
      <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of the field with the given index as from the external
 object value.</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/kernel/OpenJPAStateManager.html#storeBoolean(int, boolean)">storeBoolean</A></B>(int&nbsp;field,
             boolean&nbsp;externalVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the given external value back into the given field.</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/kernel/OpenJPAStateManager.html#storeByte(int, byte)">storeByte</A></B>(int&nbsp;field,
          byte&nbsp;externalVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the given external value back into the given field.</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/kernel/OpenJPAStateManager.html#storeChar(int, char)">storeChar</A></B>(int&nbsp;field,
          char&nbsp;externalVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the given external value back into the given field.</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/kernel/OpenJPAStateManager.html#storeDouble(int, double)">storeDouble</A></B>(int&nbsp;field,
            double&nbsp;externalVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the given external value back into the given field.</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/kernel/OpenJPAStateManager.html#storeField(int, java.lang.Object)">storeField</A></B>(int&nbsp;field,
           <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of the field with the given index as an object.</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/kernel/OpenJPAStateManager.html#storeFloat(int, float)">storeFloat</A></B>(int&nbsp;field,
           float&nbsp;externalVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the given external value back into the given field.</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/kernel/OpenJPAStateManager.html#storeInt(int, int)">storeInt</A></B>(int&nbsp;field,
         int&nbsp;externalVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the given external value back into the given field.</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/kernel/OpenJPAStateManager.html#storeLong(int, long)">storeLong</A></B>(int&nbsp;field,
          long&nbsp;externalVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the given external value back into the given field.</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/kernel/OpenJPAStateManager.html#storeObject(int, java.lang.Object)">storeObject</A></B>(int&nbsp;field,
            <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;externalVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the given external value back into the given field.</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/kernel/OpenJPAStateManager.html#storeShort(int, short)">storeShort</A></B>(int&nbsp;field,
           short&nbsp;externalVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the given external value back into the given field.</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/kernel/OpenJPAStateManager.html#storeString(int, java.lang.String)">storeString</A></B>(int&nbsp;field,
            <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;externalVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the given external value back into the given field.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.enhance.StateManager"><!-- --></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.enhance.<A HREF="../../../../org/apache/openjpa/enhance/StateManager.html" title="interface in org.apache.openjpa.enhance">StateManager</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#accessingField(int)">accessingField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#dirty(java.lang.String)">dirty</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#fetchObjectId()">fetchObjectId</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#getGenericContext()">getGenericContext</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#getPCPrimaryKey(java.lang.Object, int)">getPCPrimaryKey</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isDeleted()">isDeleted</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isDetached()">isDetached</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isDirty()">isDirty</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isNew()">isNew</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isPersistent()">isPersistent</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isTransactional()">isTransactional</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int, boolean)">providedBooleanField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedByteField(org.apache.openjpa.enhance.PersistenceCapable, int, byte)">providedByteField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedCharField(org.apache.openjpa.enhance.PersistenceCapable, int, char)">providedCharField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int, double)">providedDoubleField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedFloatField(org.apache.openjpa.enhance.PersistenceCapable, int, float)">providedFloatField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedIntField(org.apache.openjpa.enhance.PersistenceCapable, int, int)">providedIntField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedLongField(org.apache.openjpa.enhance.PersistenceCapable, int, long)">providedLongField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedObjectField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.Object)">providedObjectField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedShortField(org.apache.openjpa.enhance.PersistenceCapable, int, short)">providedShortField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedStringField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.String)">providedStringField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#proxyDetachedDeserialized(int)">proxyDetachedDeserialized</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceBooleanField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceByteField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceByteField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceCharField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceCharField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceDoubleField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceFloatField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceFloatField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceIntField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceIntField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceLongField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceLongField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceObjectField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceObjectField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceShortField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceShortField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceStateManager(org.apache.openjpa.enhance.StateManager)">replaceStateManager</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceStringField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceStringField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#serializing()">serializing</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int, boolean, boolean, int)">settingBooleanField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingByteField(org.apache.openjpa.enhance.PersistenceCapable, int, byte, byte, int)">settingByteField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingCharField(org.apache.openjpa.enhance.PersistenceCapable, int, char, char, int)">settingCharField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int, double, double, int)">settingDoubleField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingFloatField(org.apache.openjpa.enhance.PersistenceCapable, int, float, float, int)">settingFloatField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingIntField(org.apache.openjpa.enhance.PersistenceCapable, int, int, int, int)">settingIntField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingLongField(org.apache.openjpa.enhance.PersistenceCapable, int, long, long, int)">settingLongField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingObjectField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.Object, java.lang.Object, int)">settingObjectField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingShortField(org.apache.openjpa.enhance.PersistenceCapable, int, short, short, int)">settingShortField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingStringField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.String, java.lang.String, int)">settingStringField</A>, <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#writeDetached(java.io.ObjectOutput)">writeDetached</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.enhance.FieldConsumer"><!-- --></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.enhance.<A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeBooleanField(int, boolean)">storeBooleanField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeByteField(int, byte)">storeByteField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeCharField(int, char)">storeCharField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeDoubleField(int, double)">storeDoubleField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeFloatField(int, float)">storeFloatField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeIntField(int, int)">storeIntField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeLongField(int, long)">storeLongField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeObjectField(int, java.lang.Object)">storeObjectField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeShortField(int, short)">storeShortField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeStringField(int, java.lang.String)">storeStringField</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.enhance.FieldSupplier"><!-- --></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.enhance.<A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchBooleanField(int)">fetchBooleanField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchByteField(int)">fetchByteField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchCharField(int)">fetchCharField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchDoubleField(int)">fetchDoubleField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchFloatField(int)">fetchFloatField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchIntField(int)">fetchIntField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchLongField(int)">fetchLongField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchObjectField(int)">fetchObjectField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchShortField(int)">fetchShortField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchStringField(int)">fetchStringField</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="SET_USER"><!-- --></A><H3>
SET_USER</H3>
<PRE>
static final int <B>SET_USER</B></PRE>
<DL>
<DD>A user is setting the field.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.openjpa.kernel.OpenJPAStateManager.SET_USER">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="SET_REMOTE"><!-- --></A><H3>
SET_REMOTE</H3>
<PRE>
static final int <B>SET_REMOTE</B></PRE>
<DL>
<DD>The remote broker framework is setting the field on the server.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.openjpa.kernel.OpenJPAStateManager.SET_REMOTE">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="SET_ATTACH"><!-- --></A><H3>
SET_ATTACH</H3>
<PRE>
static final int <B>SET_ATTACH</B></PRE>
<DL>
<DD>The field is being attached by a detached state manager; the value is
 from the detached instance.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.openjpa.kernel.OpenJPAStateManager.SET_ATTACH">Constant Field Values</A></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="initialize(java.lang.Class, org.apache.openjpa.kernel.PCState)"><!-- --></A><H3>
initialize</H3>
<PRE>
void <B>initialize</B>(<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;forType,
                <A HREF="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</A>&nbsp;state)</PRE>
<DL>
<DD>Initialize the state manager with a new instance of the given
 persistence capable type and the proper lifecycle state.
 Invoking this method may change the object id and metadata for the
 state manager, as the concrete type specified in the parameter may be
 a subclass of the expected type.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>forType</CODE> - the type for which to create a new instance<DD><CODE>state</CODE> - the initial state to which to set the instance<DT><B>Since:</B></DT>
  <DD>0.3.1.2</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="load(org.apache.openjpa.kernel.FetchConfiguration)"><!-- --></A><H3>
load</H3>
<PRE>
void <B>load</B>(<A HREF="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</A>&nbsp;fetch)</PRE>
<DL>
<DD>Load fetch group fields.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getManagedInstance()"><!-- --></A><H3>
getManagedInstance</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getManagedInstance</B>()</PRE>
<DL>
<DD>Return the managed instance.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPersistenceCapable()"><!-- --></A><H3>
getPersistenceCapable</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A> <B>getPersistenceCapable</B>()</PRE>
<DL>
<DD>Return the <A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance"><CODE>PersistenceCapable</CODE></A> instance that provides access to
 the instance managed by this state manager. May be a proxy around
 the actual managed instance.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getMetaData()"><!-- --></A><H3>
getMetaData</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A> <B>getMetaData</B>()</PRE>
<DL>
<DD>Get the metadata for this instance.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getOwner()"><!-- --></A><H3>
getOwner</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A> <B>getOwner</B>()</PRE>
<DL>
<DD>Return the owning state if this is an embedded instance.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getOwnerIndex()"><!-- --></A><H3>
getOwnerIndex</H3>
<PRE>
int <B>getOwnerIndex</B>()</PRE>
<DL>
<DD>Return the owning value's field index
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>1.1.0</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="isEmbedded()"><!-- --></A><H3>
isEmbedded</H3>
<PRE>
boolean <B>isEmbedded</B>()</PRE>
<DL>
<DD>Return true if this instance has an owner, meaning it is an embedded
 value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isFlushed()"><!-- --></A><H3>
isFlushed</H3>
<PRE>
boolean <B>isFlushed</B>()</PRE>
<DL>
<DD>Return whether this object has been flushed to the datastore in this
 transaction.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isFlushedDirty()"><!-- --></A><H3>
isFlushedDirty</H3>
<PRE>
boolean <B>isFlushedDirty</B>()</PRE>
<DL>
<DD>Return whether this object has been flushed, then dirtied again.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isProvisional()"><!-- --></A><H3>
isProvisional</H3>
<PRE>
boolean <B>isProvisional</B>()</PRE>
<DL>
<DD>Return whether this object is provisionally persistent.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getLoaded()"><!-- --></A><H3>
getLoaded</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</A> <B>getLoaded</B>()</PRE>
<DL>
<DD>Return a read-only mask of the indexes of all loaded fields.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getDirty()"><!-- --></A><H3>
getDirty</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</A> <B>getDirty</B>()</PRE>
<DL>
<DD>Return a read-only mask of the indexes of all dirty fields.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFlushed()"><!-- --></A><H3>
getFlushed</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</A> <B>getFlushed</B>()</PRE>
<DL>
<DD>Return a read-only mask of the indexes of all fields that have been
 flushed since they were last changed.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUnloaded(org.apache.openjpa.kernel.FetchConfiguration)"><!-- --></A><H3>
getUnloaded</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</A> <B>getUnloaded</B>(<A HREF="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</A>&nbsp;fetch)</PRE>
<DL>
<DD>Return a mutable mask of the unloaded fields that need loading based
 on the given fetch configuration. Pass in null to retrieve all
 unloaded fields.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newProxy(int)"><!-- --></A><H3>
newProxy</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>newProxy</B>(int&nbsp;field)</PRE>
<DL>
<DD>Create a new hollow proxy instance for the given field. In cases where
 the field externalizes to an SCO but is declared something else, the
 returned object may not implement <A HREF="../../../../org/apache/openjpa/util/Proxy.html" title="interface in org.apache.openjpa.util"><CODE>Proxy</CODE></A>. In all other cases,
 this method delegates to the system 
 <A HREF="../../../../org/apache/openjpa/util/ProxyManager.html" title="interface in org.apache.openjpa.util"><CODE>ProxyManager</CODE></A>
 with the correct field information. The returned proxy's owner is
 unset so that modifications to the proxy will not be tracked while its
 state is initialized. Calling <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeField(int, java.lang.Object)"><CODE>storeField(int, java.lang.Object)</CODE></A> or <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#store(int, java.lang.Object)"><CODE>store(int, java.lang.Object)</CODE></A>
 will set the proxy's owner automatically.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newFieldProxy(int)"><!-- --></A><H3>
newFieldProxy</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>newFieldProxy</B>(int&nbsp;field)</PRE>
<DL>
<DD>Create a new hollow proxy instance for the given field. This method
 differs from <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#newProxy(int)"><CODE>newProxy(int)</CODE></A> in that it returns a proxy for the
 field's declared type, not its externalized type.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#newProxy(int)"><CODE>newProxy(int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="isDefaultValue(int)"><!-- --></A><H3>
isDefaultValue</H3>
<PRE>
boolean <B>isDefaultValue</B>(int&nbsp;field)</PRE>
<DL>
<DD>Return true if the given field has a default value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getContext()"><!-- --></A><H3>
getContext</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A> <B>getContext</B>()</PRE>
<DL>
<DD>Return the managing context.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPCState()"><!-- --></A><H3>
getPCState</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</A> <B>getPCState</B>()</PRE>
<DL>
<DD>Return the state that this object is in.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getId()"><!-- --></A><H3>
getId</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getId</B>()</PRE>
<DL>
<DD>Return the identifier for this state manager. This may return a
 temporary identifier for new unflushed instances that have not been
 assigned an object id, or for non-persistent or embedded instances.
 For all other instances this method is the same as <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getObjectId()"><CODE>getObjectId()</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getObjectId()"><!-- --></A><H3>
getObjectId</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getObjectId</B>()</PRE>
<DL>
<DD>Return the instance's object id. This method will return null if no
 oid has been assigned. Oids are assigned to newly-persisted instances
 when the user first asks for it, or on flush.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setObjectId(java.lang.Object)"><!-- --></A><H3>
setObjectId</H3>
<PRE>
void <B>setObjectId</B>(<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;oid)</PRE>
<DL>
<DD>Set the object id for the managed instance. Some back ends may not be
 able to assign a permanent oid until flush. Do not call this method on
 application identity instances; changing the primary key fields of
 application identity objects through the <code>storeXXXField</code>
 methods will automatically change the oid.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="assignObjectId(boolean)"><!-- --></A><H3>
assignObjectId</H3>
<PRE>
boolean <B>assignObjectId</B>(boolean&nbsp;flush)</PRE>
<DL>
<DD>Ask the store manager to assign a permanent oid to this new instance.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>flush</CODE> - if true, flush if necessary to get a permanent oid; if
 false, the oid may be left unassigned
<DT><B>Returns:</B><DD>true if an oid assigned, false otherwise</DL>
</DD>
</DL>
<HR>

<A NAME="getLock()"><!-- --></A><H3>
getLock</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getLock</B>()</PRE>
<DL>
<DD>The lock object set for this instance. This object is generally
 managed by the system lock manager.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setLock(java.lang.Object)"><!-- --></A><H3>
setLock</H3>
<PRE>
void <B>setLock</B>(<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;lock)</PRE>
<DL>
<DD>The lock object set for this instance. This object is generally
 managed by the system lock manager.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getVersion()"><!-- --></A><H3>
getVersion</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getVersion</B>()</PRE>
<DL>
<DD>Return the current version indicator for this instance.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#getVersion()">getVersion</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html" title="interface in org.apache.openjpa.enhance">StateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setVersion(java.lang.Object)"><!-- --></A><H3>
setVersion</H3>
<PRE>
void <B>setVersion</B>(<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;version)</PRE>
<DL>
<DD>Set the version indicator for this instance, as loaded from the
 data store. This method is used by the <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel"><CODE>StoreManager</CODE></A> when
 loading instance data. On rollback, the version will be rolled back
 to this value. Version objects should be serializable and should not
 require vendor-specific classes, because they are transferred to
 detached objects.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setNextVersion(java.lang.Object)"><!-- --></A><H3>
setNextVersion</H3>
<PRE>
void <B>setNextVersion</B>(<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;version)</PRE>
<DL>
<DD>Set the next version indicator in the datastore pending a successful
 flush. The <A HREF="../../../../org/apache/openjpa/kernel/StoreManager.html" title="interface in org.apache.openjpa.kernel"><CODE>StoreManager</CODE></A> uses this method during flush.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isVersionUpdateRequired()"><!-- --></A><H3>
isVersionUpdateRequired</H3>
<PRE>
boolean <B>isVersionUpdateRequired</B>()</PRE>
<DL>
<DD>Returns true if this state needs to issue a version update, possibly
 as a result of being locked.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isVersionCheckRequired()"><!-- --></A><H3>
isVersionCheckRequired</H3>
<PRE>
boolean <B>isVersionCheckRequired</B>()</PRE>
<DL>
<DD>Returns true if this state needs to issue a version check at flush time.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getImplData()"><!-- --></A><H3>
getImplData</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getImplData</B>()</PRE>
<DL>
<DD>An object that concrete back ends can associate with each instance.
 This object is not used or modified in any way by the generic
 persistence layer.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setImplData(java.lang.Object, boolean)"><!-- --></A><H3>
setImplData</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>setImplData</B>(<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;data,
                   boolean&nbsp;cacheable)</PRE>
<DL>
<DD>An object that concrete back ends can associate with each instance.
 This object is not used or modified in any way by the generic
 persistence layer.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>cacheable</CODE> - whether the impl data can be shared among instances
 in different contexts if L2 caching is enabled
<DT><B>Returns:</B><DD>the previous impl data value, if any</DL>
</DD>
</DL>
<HR>

<A NAME="isImplDataCacheable()"><!-- --></A><H3>
isImplDataCacheable</H3>
<PRE>
boolean <B>isImplDataCacheable</B>()</PRE>
<DL>
<DD>Whether the instance-level impl data can be shared among instances
 in different contexts if L2 caching is enabled.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getImplData(int)"><!-- --></A><H3>
getImplData</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getImplData</B>(int&nbsp;field)</PRE>
<DL>
<DD>Field-level impl data. Field-level data only applies to loaded fields,
 and is cleared when the field is cleared.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setImplData(int, java.lang.Object)"><!-- --></A><H3>
setImplData</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>setImplData</B>(int&nbsp;field,
                   <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;data)</PRE>
<DL>
<DD>Field-level impl data. Field-level data only applies to loaded fields,
 and is cleared when the field is cleared. Whether the data is cached
 across instances depends on the corresponding field metadata's response
 to <A HREF="../../../../org/apache/openjpa/meta/FieldMetaData.html#usesImplData()"><CODE>FieldMetaData.usesImplData()</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the previous impl data value, if any</DL>
</DD>
</DL>
<HR>

<A NAME="isImplDataCacheable(int)"><!-- --></A><H3>
isImplDataCacheable</H3>
<PRE>
boolean <B>isImplDataCacheable</B>(int&nbsp;field)</PRE>
<DL>
<DD>Whether the field's impl data is loaded and can be shared among
 instances in different contexts if L2 caching is enabled.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getIntermediate(int)"><!-- --></A><H3>
getIntermediate</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getIntermediate</B>(int&nbsp;field)</PRE>
<DL>
<DD>Use intermediate field data to store intermediate information that
 might be available before the field is fully loaded. The system
 will automatically clear this data when the field gets loaded.
 This data should be cacheable; the datastore cache will attempt to
 cache it if the field value is not available.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setIntermediate(int, java.lang.Object)"><!-- --></A><H3>
setIntermediate</H3>
<PRE>
void <B>setIntermediate</B>(int&nbsp;field,
                     <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE>
<DL>
<DD>Use intermediate field data to store intermediate information that
 might be available before the field is fully loaded. The system
 will automatically clear this data when the field gets loaded.
 This data should be cacheable; the datastore cache will attempt to
 cache it if the field value is not available.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchBoolean(int)"><!-- --></A><H3>
fetchBoolean</H3>
<PRE>
boolean <B>fetchBoolean</B>(int&nbsp;field)</PRE>
<DL>
<DD>Return the external value of the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchByte(int)"><!-- --></A><H3>
fetchByte</H3>
<PRE>
byte <B>fetchByte</B>(int&nbsp;field)</PRE>
<DL>
<DD>Return the external value of the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchChar(int)"><!-- --></A><H3>
fetchChar</H3>
<PRE>
char <B>fetchChar</B>(int&nbsp;field)</PRE>
<DL>
<DD>Return the external value of the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchDouble(int)"><!-- --></A><H3>
fetchDouble</H3>
<PRE>
double <B>fetchDouble</B>(int&nbsp;field)</PRE>
<DL>
<DD>Return the external value of the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchFloat(int)"><!-- --></A><H3>
fetchFloat</H3>
<PRE>
float <B>fetchFloat</B>(int&nbsp;field)</PRE>
<DL>
<DD>Return the external value of the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchInt(int)"><!-- --></A><H3>
fetchInt</H3>
<PRE>
int <B>fetchInt</B>(int&nbsp;field)</PRE>
<DL>
<DD>Return the external value of the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchLong(int)"><!-- --></A><H3>
fetchLong</H3>
<PRE>
long <B>fetchLong</B>(int&nbsp;field)</PRE>
<DL>
<DD>Return the external value of the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchObject(int)"><!-- --></A><H3>
fetchObject</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>fetchObject</B>(int&nbsp;field)</PRE>
<DL>
<DD>Return the external value of the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchShort(int)"><!-- --></A><H3>
fetchShort</H3>
<PRE>
short <B>fetchShort</B>(int&nbsp;field)</PRE>
<DL>
<DD>Return the external value of the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchString(int)"><!-- --></A><H3>
fetchString</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>fetchString</B>(int&nbsp;field)</PRE>
<DL>
<DD>Return the external value of the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetch(int)"><!-- --></A><H3>
fetch</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>fetch</B>(int&nbsp;field)</PRE>
<DL>
<DD>Return the externalized value of the field with the given index as an
 object. If there is no externalizer, this is equivalent to
 <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchField(int, boolean)"><CODE>fetchField(int, boolean)</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchField(int, boolean)"><!-- --></A><H3>
fetchField</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>fetchField</B>(int&nbsp;field,
                  boolean&nbsp;transitions)</PRE>
<DL>
<DD>Return the value of the field with the given index as an object.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>transitions</CODE> - if true, this method will cause state transitions
 to occur as if the field were accessed normally</DL>
</DD>
</DL>
<HR>

<A NAME="fetchInitialField(int)"><!-- --></A><H3>
fetchInitialField</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>fetchInitialField</B>(int&nbsp;field)</PRE>
<DL>
<DD>Return the value of the field at the specified index as of the
 beginning of the transaction.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>0.3.1.1</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeBoolean(int, boolean)"><!-- --></A><H3>
storeBoolean</H3>
<PRE>
void <B>storeBoolean</B>(int&nbsp;field,
                  boolean&nbsp;externalVal)</PRE>
<DL>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeByte(int, byte)"><!-- --></A><H3>
storeByte</H3>
<PRE>
void <B>storeByte</B>(int&nbsp;field,
               byte&nbsp;externalVal)</PRE>
<DL>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeChar(int, char)"><!-- --></A><H3>
storeChar</H3>
<PRE>
void <B>storeChar</B>(int&nbsp;field,
               char&nbsp;externalVal)</PRE>
<DL>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeDouble(int, double)"><!-- --></A><H3>
storeDouble</H3>
<PRE>
void <B>storeDouble</B>(int&nbsp;field,
                 double&nbsp;externalVal)</PRE>
<DL>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeFloat(int, float)"><!-- --></A><H3>
storeFloat</H3>
<PRE>
void <B>storeFloat</B>(int&nbsp;field,
                float&nbsp;externalVal)</PRE>
<DL>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeInt(int, int)"><!-- --></A><H3>
storeInt</H3>
<PRE>
void <B>storeInt</B>(int&nbsp;field,
              int&nbsp;externalVal)</PRE>
<DL>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeLong(int, long)"><!-- --></A><H3>
storeLong</H3>
<PRE>
void <B>storeLong</B>(int&nbsp;field,
               long&nbsp;externalVal)</PRE>
<DL>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeObject(int, java.lang.Object)"><!-- --></A><H3>
storeObject</H3>
<PRE>
void <B>storeObject</B>(int&nbsp;field,
                 <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;externalVal)</PRE>
<DL>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeShort(int, short)"><!-- --></A><H3>
storeShort</H3>
<PRE>
void <B>storeShort</B>(int&nbsp;field,
                short&nbsp;externalVal)</PRE>
<DL>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeString(int, java.lang.String)"><!-- --></A><H3>
storeString</H3>
<PRE>
void <B>storeString</B>(int&nbsp;field,
                 <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;externalVal)</PRE>
<DL>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="store(int, java.lang.Object)"><!-- --></A><H3>
store</H3>
<PRE>
void <B>store</B>(int&nbsp;field,
           <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE>
<DL>
<DD>Set the value of the field with the given index as from the external
 object value. If there is no externalizer, this is equivalent to
 <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeField(int, java.lang.Object)"><CODE>storeField(int, java.lang.Object)</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeField(int, java.lang.Object)"><!-- --></A><H3>
storeField</H3>
<PRE>
void <B>storeField</B>(int&nbsp;field,
                <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE>
<DL>
<DD>Set the value of the field with the given index as an object.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="dirty(int)"><!-- --></A><H3>
dirty</H3>
<PRE>
void <B>dirty</B>(int&nbsp;field)</PRE>
<DL>
<DD>Mark the given field as dirty.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="removed(int, java.lang.Object, boolean)"><!-- --></A><H3>
removed</H3>
<PRE>
void <B>removed</B>(int&nbsp;field,
             <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;removed,
             boolean&nbsp;key)</PRE>
<DL>
<DD>Notification that an element has been removed from the given field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="beforeRefresh(boolean)"><!-- --></A><H3>
beforeRefresh</H3>
<PRE>
boolean <B>beforeRefresh</B>(boolean&nbsp;refreshAll)</PRE>
<DL>
<DD>Prepare the instance for refresh
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>refreshAll</CODE> - true if this instance is one of a collection of
 objects being refreshed
<DT><B>Returns:</B><DD>true if the object needs a refresh, false otherwise<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/openjpa/kernel/Broker.html#refresh(java.lang.Object, org.apache.openjpa.kernel.OpCallbacks)"><CODE>Broker.refresh(java.lang.Object, org.apache.openjpa.kernel.OpCallbacks)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setRemote(int, java.lang.Object)"><!-- --></A><H3>
setRemote</H3>
<PRE>
void <B>setRemote</B>(int&nbsp;field,
               <A HREF="http://java.sun.com/j2se/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE>
<DL>
<DD>Set the given field to the given value. Make the field dirty as
 if user code set it. Do not delete dependent objects in the field's
 current value. This method is invoked by the remote package to
 synch a server-side state manager with remote changes. We do not
 need to delete dependent instances because they will have been
 deleted when the field changed on the client side, and those
 client-side deletes will be transmitted independently.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>0.3.1</DD>
</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/OpenJPAStateManager.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/kernel/OpenJPASavepoint.html" title="class in org.apache.openjpa.kernel"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/OrderingMergedResultObjectProvider.html" title="class in org.apache.openjpa.kernel"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/openjpa/kernel/OpenJPAStateManager.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="OpenJPAStateManager.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;CONSTR&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;CONSTR&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-2011 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
