<!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.5.0_15) on Fri Mar 13 09:15:44 CDT 2009 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
OpenJPAStateManager (OpenJPA 1.2.1 API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.openjpa.kernel.OpenJPAStateManager interface">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="OpenJPAStateManager (OpenJPA 1.2.1 API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/String.html" 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/1.5.0/docs/api/java/util/BitSet.html" 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/1.5.0/docs/api/java/util/BitSet.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/util/BitSet.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/util/BitSet.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Class.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/String.html" 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/1.5.0/docs/api/java/lang/Class.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/util/BitSet.html" 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/1.5.0/docs/api/java/util/BitSet.html" 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/1.5.0/docs/api/java/util/BitSet.html" 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/1.5.0/docs/api/java/util/BitSet.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>setImplData</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>setImplData</B>(int&nbsp;field,
                   <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/String.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/String.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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/1.5.0/docs/api/java/lang/Object.html" 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-2009 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
