<!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 Thu Jul 17 13:34:27 CDT 2008 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
StateManagerImpl (OpenJPA 1.0.3 API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.openjpa.kernel.StateManagerImpl class">

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="StateManagerImpl (OpenJPA 1.0.3 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/StateManagerImpl.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/Seq.html" title="interface in org.apache.openjpa.kernel"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface 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/StateManagerImpl.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="StateManagerImpl.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.openjpa.kernel</FONT>
<BR>
Class StateManagerImpl</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.openjpa.kernel.StateManagerImpl</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</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>, <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>StateManagerImpl</B><DT>extends <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><DT>implements <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></DL>
</PRE>

<P>
Implementation of the <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel"><CODE>OpenJPAStateManager</CODE></A> interface for use
 with this runtime. 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 state manager uses the State pattern in both its interaction with
 the governed instance and its interaction with the broker.
 In its interactions with the persistence capable instance, it uses the
 <A HREF="../../../../org/apache/openjpa/enhance/FieldManager.html" title="interface in org.apache.openjpa.enhance"><CODE>FieldManager</CODE></A> interface. Similarly, when interacting with the
 broker, it uses the <A HREF="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel"><CODE>PCState</CODE></A> singleton that represents
 the current lifecycle state of the instance.
<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/StateManagerImpl.html#LOAD_ALL">LOAD_ALL</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/StateManagerImpl.html#LOAD_FGS">LOAD_FGS</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/StateManagerImpl.html#LOAD_SERIALIZE">LOAD_SERIALIZE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.openjpa.kernel.OpenJPAStateManager"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface org.apache.openjpa.kernel.<A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#SET_ATTACH">SET_ATTACH</A>, <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#SET_REMOTE">SET_REMOTE</A>, <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#SET_USER">SET_USER</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected </CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#StateManagerImpl(java.lang.Object, org.apache.openjpa.meta.ClassMetaData, org.apache.openjpa.kernel.BrokerImpl)">StateManagerImpl</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;id,
                 <A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>&nbsp;meta,
                 <A HREF="../../../../org/apache/openjpa/kernel/BrokerImpl.html" title="class in org.apache.openjpa.kernel">BrokerImpl</A>&nbsp;broker)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor; supply id, type metadata, and owning persistence manager.</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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#accessingField(int)">accessingField</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Field access callback.</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/StateManagerImpl.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>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#beforeAccessField(int)">beforeAccessField</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Load the given field before access.</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/StateManagerImpl.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/StateManagerImpl.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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#dirty(java.lang.String)">dirty</A></B>(<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;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Make named field dirty.</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/StateManagerImpl.html#dirtyCheck()">dirtyCheck</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether or not <code>_pc</code> is 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/StateManagerImpl.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/StateManagerImpl.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;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#fetchBooleanField(int)">fetchBooleanField</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the 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/StateManagerImpl.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;byte</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#fetchByteField(int)">fetchByteField</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the 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/StateManagerImpl.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;char</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#fetchCharField(int)">fetchCharField</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the 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/StateManagerImpl.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;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#fetchDoubleField(int)">fetchDoubleField</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the 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/StateManagerImpl.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/StateManagerImpl.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;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#fetchFloatField(int)">fetchFloatField</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the 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/StateManagerImpl.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/StateManagerImpl.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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#fetchIntField(int)">fetchIntField</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the 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/StateManagerImpl.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;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#fetchLongField(int)">fetchLongField</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the 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/StateManagerImpl.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;<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/StateManagerImpl.html#fetchObjectField(int)">fetchObjectField</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the 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/StateManagerImpl.html#fetchObjectId()">fetchObjectId</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the object id, assigning it if necessary.</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/StateManagerImpl.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;short</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#fetchShortField(int)">fetchShortField</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the 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/StateManagerImpl.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="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/StateManagerImpl.html#fetchStringField(int)">fetchStringField</A></B>(int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the 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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.html#getGenericContext()">getGenericContext</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Persistence 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/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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;<A HREF="../../../../org/apache/openjpa/meta/ValueMetaData.html" title="interface in org.apache.openjpa.meta">ValueMetaData</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#getOwnerMetaData()">getOwnerMetaData</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the owning value.</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/StateManagerImpl.html#getPCPrimaryKey(java.lang.Object, int)">getPCPrimaryKey</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,
                int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the persistence-capable primary key object by extracting the 
 identity value of the related instance stored in the given field from 
 the given 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/PCState.html" title="class in org.apache.openjpa.kernel">PCState</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.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/StateManagerImpl.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="../../../../org/apache/openjpa/kernel/SaveFieldManager.html" title="class in org.apache.openjpa.kernel">SaveFieldManager</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#getSaveFieldManager()">getSaveFieldManager</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/StateManagerImpl.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/StateManagerImpl.html#getVersion()">getVersion</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the optimistic version 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/StateManagerImpl.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;cls,
           <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>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#initialize(org.apache.openjpa.enhance.PersistenceCapable, org.apache.openjpa.kernel.PCState)">initialize</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
           <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 with the given instance and 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/StateManagerImpl.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/StateManagerImpl.html#isDeleted()">isDeleted</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether the instance is deleted 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/StateManagerImpl.html#isDetached()">isDetached</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether the instance is detached (i.e.</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/StateManagerImpl.html#isDirty()">isDirty</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether the instance has been modified 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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.html#isIntercepting()">isIntercepting</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether or not data access in this instance is intercepted.</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/StateManagerImpl.html#isNew()">isNew</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether the instance is newly-persisted 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/StateManagerImpl.html#isPendingTransactional()">isPendingTransactional</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/StateManagerImpl.html#isPersistent()">isPersistent</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether the instance is 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/StateManagerImpl.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/StateManagerImpl.html#isTransactional()">isTransactional</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether the instance is transactional.</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/StateManagerImpl.html#isVersionCheckRequired()">isVersionCheckRequired</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether this instance needs a version check.</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/StateManagerImpl.html#isVersionUpdateRequired()">isVersionUpdateRequired</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether this instance needs a version update.</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/StateManagerImpl.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>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#load(org.apache.openjpa.kernel.FetchConfiguration, int, java.util.BitSet, java.lang.Object, boolean)">load</A></B>(<A HREF="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</A>&nbsp;fetch,
     int&nbsp;loadMode,
     <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>&nbsp;exclude,
     <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;sdata,
     boolean&nbsp;forWrite)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Load the state of this instance based on the given fetch configuration
 and load mode.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#loadField(int, int, boolean, boolean)">loadField</A></B>(int&nbsp;field,
          int&nbsp;lockLevel,
          boolean&nbsp;forWrite,
          boolean&nbsp;fgs)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Load the given field's fetch group; the field itself may already be
 loaded if it is being set by the user.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#lock()">lock</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lock the state manager if the multithreaded option is set.</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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.html#providedBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int, boolean)">providedBooleanField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                     int&nbsp;field,
                     boolean&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provide state callback.</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/StateManagerImpl.html#providedByteField(org.apache.openjpa.enhance.PersistenceCapable, int, byte)">providedByteField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  byte&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provide state callback.</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/StateManagerImpl.html#providedCharField(org.apache.openjpa.enhance.PersistenceCapable, int, char)">providedCharField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  char&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provide state callback.</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/StateManagerImpl.html#providedDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int, double)">providedDoubleField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                    int&nbsp;field,
                    double&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provide state callback.</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/StateManagerImpl.html#providedFloatField(org.apache.openjpa.enhance.PersistenceCapable, int, float)">providedFloatField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                   int&nbsp;field,
                   float&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provide state callback.</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/StateManagerImpl.html#providedIntField(org.apache.openjpa.enhance.PersistenceCapable, int, int)">providedIntField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                 int&nbsp;field,
                 int&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provide state callback.</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/StateManagerImpl.html#providedLongField(org.apache.openjpa.enhance.PersistenceCapable, int, long)">providedLongField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  long&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provide state callback.</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/StateManagerImpl.html#providedObjectField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.Object)">providedObjectField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                    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;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provide state callback.</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/StateManagerImpl.html#providedShortField(org.apache.openjpa.enhance.PersistenceCapable, int, short)">providedShortField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                   int&nbsp;field,
                   short&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provide state callback.</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/StateManagerImpl.html#providedStringField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.String)">providedStringField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                    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;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provide state callback.</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/StateManagerImpl.html#proxyDetachedDeserialized(int)">proxyDetachedDeserialized</A></B>(int&nbsp;idx)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Proxy the given detached field after deserialization.</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/StateManagerImpl.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;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#replaceBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceBooleanField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                    int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace state callback.</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/StateManagerImpl.html#replaceByteField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceByteField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                 int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace state callback.</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/StateManagerImpl.html#replaceCharField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceCharField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                 int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace state callback.</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/StateManagerImpl.html#replaceDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceDoubleField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                   int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace state callback.</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/StateManagerImpl.html#replaceFlags()">replaceFlags</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/StateManagerImpl.html#replaceFloatField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceFloatField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace state callback.</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/StateManagerImpl.html#replaceIntField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceIntField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace state callback.</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/StateManagerImpl.html#replaceLongField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceLongField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                 int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace state callback.</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/StateManagerImpl.html#replaceObjectField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceObjectField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                   int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace state callback.</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/StateManagerImpl.html#replaceShortField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceShortField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace state callback.</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/StateManager.html" title="interface in org.apache.openjpa.enhance">StateManager</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#replaceStateManager(org.apache.openjpa.enhance.StateManager)">replaceStateManager</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/StateManager.html" title="interface in org.apache.openjpa.enhance">StateManager</A>&nbsp;sm)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change 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/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#replaceStringField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceStringField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                   int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace state callback.</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/StateManagerImpl.html#serializing()">serializing</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Callback to prepare instance for serialization.</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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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;data)</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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.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/StateManagerImpl.html#settingBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int, boolean, boolean, int)">settingBooleanField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                    int&nbsp;field,
                    boolean&nbsp;curVal,
                    boolean&nbsp;newVal,
                    int&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting state callback.</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/StateManagerImpl.html#settingByteField(org.apache.openjpa.enhance.PersistenceCapable, int, byte, byte, int)">settingByteField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                 int&nbsp;field,
                 byte&nbsp;curVal,
                 byte&nbsp;newVal,
                 int&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting state callback.</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/StateManagerImpl.html#settingCharField(org.apache.openjpa.enhance.PersistenceCapable, int, char, char, int)">settingCharField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                 int&nbsp;field,
                 char&nbsp;curVal,
                 char&nbsp;newVal,
                 int&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting state callback.</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/StateManagerImpl.html#settingDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int, double, double, int)">settingDoubleField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                   int&nbsp;field,
                   double&nbsp;curVal,
                   double&nbsp;newVal,
                   int&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting state callback.</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/StateManagerImpl.html#settingFloatField(org.apache.openjpa.enhance.PersistenceCapable, int, float, float, int)">settingFloatField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  float&nbsp;curVal,
                  float&nbsp;newVal,
                  int&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting state callback.</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/StateManagerImpl.html#settingIntField(org.apache.openjpa.enhance.PersistenceCapable, int, int, int, int)">settingIntField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                int&nbsp;field,
                int&nbsp;curVal,
                int&nbsp;newVal,
                int&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting state callback.</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/StateManagerImpl.html#settingLongField(org.apache.openjpa.enhance.PersistenceCapable, int, long, long, int)">settingLongField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                 int&nbsp;field,
                 long&nbsp;curVal,
                 long&nbsp;newVal,
                 int&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting state callback.</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/StateManagerImpl.html#settingObjectField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.Object, java.lang.Object, int)">settingObjectField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                   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;curVal,
                   <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;newVal,
                   int&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting state callback.</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/StateManagerImpl.html#settingShortField(org.apache.openjpa.enhance.PersistenceCapable, int, short, short, int)">settingShortField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  short&nbsp;curVal,
                  short&nbsp;newVal,
                  int&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting state callback.</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/StateManagerImpl.html#settingStringField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.String, java.lang.String, int)">settingStringField</A></B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                   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;curVal,
                   <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;newVal,
                   int&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting state callback.</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/StateManagerImpl.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/StateManagerImpl.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;val)</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/StateManagerImpl.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/StateManagerImpl.html#storeBooleanField(int, boolean)">storeBooleanField</A></B>(int&nbsp;field,
                  boolean&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of 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/StateManagerImpl.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/StateManagerImpl.html#storeByteField(int, byte)">storeByteField</A></B>(int&nbsp;field,
               byte&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of 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/StateManagerImpl.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/StateManagerImpl.html#storeCharField(int, char)">storeCharField</A></B>(int&nbsp;field,
               char&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of 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/StateManagerImpl.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/StateManagerImpl.html#storeDoubleField(int, double)">storeDoubleField</A></B>(int&nbsp;field,
                 double&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of 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/StateManagerImpl.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;val)</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/StateManagerImpl.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/StateManagerImpl.html#storeFloatField(int, float)">storeFloatField</A></B>(int&nbsp;field,
                float&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of 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/StateManagerImpl.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/StateManagerImpl.html#storeIntField(int, int)">storeIntField</A></B>(int&nbsp;field,
              int&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of 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/StateManagerImpl.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/StateManagerImpl.html#storeLongField(int, long)">storeLongField</A></B>(int&nbsp;field,
               long&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of 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/StateManagerImpl.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/StateManagerImpl.html#storeObjectField(int, java.lang.Object)">storeObjectField</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;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of 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/StateManagerImpl.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/StateManagerImpl.html#storeShortField(int, short)">storeShortField</A></B>(int&nbsp;field,
                short&nbsp;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of 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/StateManagerImpl.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>
<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/StateManagerImpl.html#storeStringField(int, java.lang.String)">storeStringField</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;curVal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of the given field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#translate(java.lang.RuntimeException)">translate</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</A>&nbsp;re)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translate the given exception based on the broker's implicit behavior.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/StateManagerImpl.html#unlock()">unlock</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unlock the state manager.</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/StateManagerImpl.html#writeDetached(java.io.ObjectOutput)">writeDetached</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/ObjectOutput.html" title="class or interface in java.io">ObjectOutput</A>&nbsp;out)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write detached state object and detached state manager to the
 given stream.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</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="LOAD_FGS"><!-- --></A><H3>
LOAD_FGS</H3>
<PRE>
public static final int <B>LOAD_FGS</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.openjpa.kernel.StateManagerImpl.LOAD_FGS">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="LOAD_ALL"><!-- --></A><H3>
LOAD_ALL</H3>
<PRE>
public static final int <B>LOAD_ALL</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.openjpa.kernel.StateManagerImpl.LOAD_ALL">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="LOAD_SERIALIZE"><!-- --></A><H3>
LOAD_SERIALIZE</H3>
<PRE>
public static final int <B>LOAD_SERIALIZE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.openjpa.kernel.StateManagerImpl.LOAD_SERIALIZE">Constant Field Values</A></DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="StateManagerImpl(java.lang.Object, org.apache.openjpa.meta.ClassMetaData, org.apache.openjpa.kernel.BrokerImpl)"><!-- --></A><H3>
StateManagerImpl</H3>
<PRE>
protected <B>StateManagerImpl</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;id,
                           <A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>&nbsp;meta,
                           <A HREF="../../../../org/apache/openjpa/kernel/BrokerImpl.html" title="class in org.apache.openjpa.kernel">BrokerImpl</A>&nbsp;broker)</PRE>
<DL>
<DD>Constructor; supply id, type metadata, and owning persistence manager.
<P>
</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>
public 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;cls,
                       <A HREF="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</A>&nbsp;state)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#initialize(java.lang.Class, org.apache.openjpa.kernel.PCState)">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#initialize(java.lang.Class, org.apache.openjpa.kernel.PCState)">initialize</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>cls</CODE> - the type for which to create a new instance<DD><CODE>state</CODE> - the initial state to which to set the instance</DL>
</DD>
</DL>
<HR>

<A NAME="initialize(org.apache.openjpa.enhance.PersistenceCapable, org.apache.openjpa.kernel.PCState)"><!-- --></A><H3>
initialize</H3>
<PRE>
protected void <B>initialize</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                          <A HREF="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</A>&nbsp;state)</PRE>
<DL>
<DD>Initialize with the given instance and state.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isIntercepting()"><!-- --></A><H3>
isIntercepting</H3>
<PRE>
public boolean <B>isIntercepting</B>()</PRE>
<DL>
<DD>Whether or not data access in this instance is intercepted. This differs
 from <A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html#isIntercepting()"><CODE>ClassMetaData.isIntercepting()</CODE></A> in that it checks for
 property access + subclassing in addition to the redefinition /
 enhancement checks.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="load(org.apache.openjpa.kernel.FetchConfiguration)"><!-- --></A><H3>
load</H3>
<PRE>
public 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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#load(org.apache.openjpa.kernel.FetchConfiguration)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Load fetch group fields.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#load(org.apache.openjpa.kernel.FetchConfiguration)">load</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="load(org.apache.openjpa.kernel.FetchConfiguration, int, java.util.BitSet, java.lang.Object, boolean)"><!-- --></A><H3>
load</H3>
<PRE>
protected boolean <B>load</B>(<A HREF="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</A>&nbsp;fetch,
                       int&nbsp;loadMode,
                       <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>&nbsp;exclude,
                       <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;sdata,
                       boolean&nbsp;forWrite)</PRE>
<DL>
<DD>Load the state of this instance based on the given fetch configuration
 and load mode. Return true if any data was loaded, false otherwise.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getManagedInstance()"><!-- --></A><H3>
getManagedInstance</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getManagedInstance()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the managed instance.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getManagedInstance()">getManagedInstance</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPersistenceCapable()"><!-- --></A><H3>
getPersistenceCapable</H3>
<PRE>
public <A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A> <B>getPersistenceCapable</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getPersistenceCapable()">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getPersistenceCapable()">getPersistenceCapable</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getMetaData()"><!-- --></A><H3>
getMetaData</H3>
<PRE>
public <A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A> <B>getMetaData</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getMetaData()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Get the metadata for this instance.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getMetaData()">getMetaData</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

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

<A NAME="getOwnerMetaData()"><!-- --></A><H3>
getOwnerMetaData</H3>
<PRE>
public <A HREF="../../../../org/apache/openjpa/meta/ValueMetaData.html" title="interface in org.apache.openjpa.meta">ValueMetaData</A> <B>getOwnerMetaData</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getOwnerMetaData()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the owning value.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getOwnerMetaData()">getOwnerMetaData</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isEmbedded()"><!-- --></A><H3>
isEmbedded</H3>
<PRE>
public boolean <B>isEmbedded</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isEmbedded()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return true if this instance has an owner, meaning it is an embedded
 value.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isEmbedded()">isEmbedded</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isFlushed()"><!-- --></A><H3>
isFlushed</H3>
<PRE>
public boolean <B>isFlushed</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isFlushed()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return whether this object has been flushed to the datastore in this
 transaction.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isFlushed()">isFlushed</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isFlushedDirty()"><!-- --></A><H3>
isFlushedDirty</H3>
<PRE>
public boolean <B>isFlushedDirty</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isFlushedDirty()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return whether this object has been flushed, then dirtied again.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isFlushedDirty()">isFlushedDirty</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getLoaded()"><!-- --></A><H3>
getLoaded</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getLoaded()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return a read-only mask of the indexes of all loaded fields.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getLoaded()">getLoaded</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFlushed()"><!-- --></A><H3>
getFlushed</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getFlushed()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return a read-only mask of the indexes of all fields that have been
 flushed since they were last changed.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getFlushed()">getFlushed</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getDirty()"><!-- --></A><H3>
getDirty</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getDirty()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return a read-only mask of the indexes of all dirty fields.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getDirty()">getDirty</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUnloaded(org.apache.openjpa.kernel.FetchConfiguration)"><!-- --></A><H3>
getUnloaded</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getUnloaded(org.apache.openjpa.kernel.FetchConfiguration)">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getUnloaded(org.apache.openjpa.kernel.FetchConfiguration)">getUnloaded</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getContext()"><!-- --></A><H3>
getContext</H3>
<PRE>
public <A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A> <B>getContext</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getContext()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the managing context.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getContext()">getContext</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getId()"><!-- --></A><H3>
getId</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getId()">OpenJPAStateManager</A></CODE></B></DD>
<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>OpenJPAStateManager.getObjectId()</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getId()">getId</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getObjectId()"><!-- --></A><H3>
getObjectId</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getObjectId()">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getObjectId()">getObjectId</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setObjectId(java.lang.Object)"><!-- --></A><H3>
setObjectId</H3>
<PRE>
public 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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setObjectId(java.lang.Object)">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setObjectId(java.lang.Object)">setObjectId</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="assignObjectId(boolean)"><!-- --></A><H3>
assignObjectId</H3>
<PRE>
public boolean <B>assignObjectId</B>(boolean&nbsp;flush)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#assignObjectId(boolean)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Ask the store manager to assign a permanent oid to this new instance.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#assignObjectId(boolean)">assignObjectId</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></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>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getLock()">OpenJPAStateManager</A></CODE></B></DD>
<DD>The lock object set for this instance. This object is generally
 managed by the system lock manager.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getLock()">getLock</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setLock(java.lang.Object)"><!-- --></A><H3>
setLock</H3>
<PRE>
public 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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setLock(java.lang.Object)">OpenJPAStateManager</A></CODE></B></DD>
<DD>The lock object set for this instance. This object is generally
 managed by the system lock manager.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setLock(java.lang.Object)">setLock</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getVersion()"><!-- --></A><H3>
getVersion</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#getVersion()">StateManager</A></CODE></B></DD>
<DD>Returns the optimistic version 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><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getVersion()">getVersion</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setVersion(java.lang.Object)"><!-- --></A><H3>
setVersion</H3>
<PRE>
public 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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setVersion(java.lang.Object)">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setVersion(java.lang.Object)">setVersion</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setNextVersion(java.lang.Object)"><!-- --></A><H3>
setNextVersion</H3>
<PRE>
public 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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setNextVersion(java.lang.Object)">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setNextVersion(java.lang.Object)">setNextVersion</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPCState()"><!-- --></A><H3>
getPCState</H3>
<PRE>
public <A HREF="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</A> <B>getPCState</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getPCState()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the state that this object is in.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getPCState()">getPCState</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getImplData()"><!-- --></A><H3>
getImplData</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getImplData()">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getImplData()">getImplData</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setImplData(java.lang.Object, boolean)"><!-- --></A><H3>
setImplData</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setImplData(java.lang.Object, boolean)">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setImplData(java.lang.Object, boolean)">setImplData</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
<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>
public boolean <B>isImplDataCacheable</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isImplDataCacheable()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Whether the instance-level impl data can be shared among instances
 in different contexts if L2 caching is enabled.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isImplDataCacheable()">isImplDataCacheable</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getImplData(int)"><!-- --></A><H3>
getImplData</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getImplData(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Field-level impl data. Field-level data only applies to loaded fields,
 and is cleared when the field is cleared.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getImplData(int)">getImplData</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setImplData(int, java.lang.Object)"><!-- --></A><H3>
setImplData</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setImplData(int, java.lang.Object)">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setImplData(int, java.lang.Object)">setImplData</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></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>
public boolean <B>isImplDataCacheable</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isImplDataCacheable(int)">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isImplDataCacheable(int)">isImplDataCacheable</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getIntermediate(int)"><!-- --></A><H3>
getIntermediate</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getIntermediate(int)">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#getIntermediate(int)">getIntermediate</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setIntermediate(int, java.lang.Object)"><!-- --></A><H3>
setIntermediate</H3>
<PRE>
public 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;data)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setIntermediate(int, java.lang.Object)">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setIntermediate(int, java.lang.Object)">setIntermediate</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetch(int)"><!-- --></A><H3>
fetch</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetch(int)">OpenJPAStateManager</A></CODE></B></DD>
<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>OpenJPAStateManager.fetchField(int, boolean)</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetch(int)">fetch</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchField(int, boolean)"><!-- --></A><H3>
fetchField</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchField(int, boolean)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the value of the field with the given index as an object.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchField(int, boolean)">fetchField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
<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="store(int, java.lang.Object)"><!-- --></A><H3>
store</H3>
<PRE>
public 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;val)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#store(int, java.lang.Object)">OpenJPAStateManager</A></CODE></B></DD>
<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>OpenJPAStateManager.storeField(int, java.lang.Object)</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#store(int, java.lang.Object)">store</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeField(int, java.lang.Object)"><!-- --></A><H3>
storeField</H3>
<PRE>
public 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;val)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeField(int, java.lang.Object)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Set the value of the field with the given index as an object.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeField(int, java.lang.Object)">storeField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="dirtyCheck()"><!-- --></A><H3>
dirtyCheck</H3>
<PRE>
public void <B>dirtyCheck</B>()</PRE>
<DL>
<DD><p>Checks whether or not <code>_pc</code> is dirty. In the cases where
 field tracking is not happening (see below), this method will do a
 state comparison to find whether <code>_pc</code> is dirty, and will
 update this instance with this information. In the cases where field
 tracking is happening, this method is a no-op.</p>

 <p>Fields are tracked for all classes that are run through the OpenJPA
 enhancer prior to or during deployment, and all classes (enhanced or
 unenhanced) in a Java 6 environment or newer.</p>

 <p>In a Java 5 VM or older:
 <br>- instances of unenhanced classes that use
 property access and obey the property access limitations are tracked
 when the instances are loaded from the database by OpenJPA, and are
 not tracked when the instances are created by application code.
 <br>- instances of unenhanced classes that use field access are
 never tracked.</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>1.0.0</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchInitialField(int)"><!-- --></A><H3>
fetchInitialField</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchInitialField(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the value of the field at the specified index as of the
 beginning of the transaction.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchInitialField(int)">fetchInitialField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setRemote(int, java.lang.Object)"><!-- --></A><H3>
setRemote</H3>
<PRE>
public 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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setRemote(int, java.lang.Object)">OpenJPAStateManager</A></CODE></B></DD>
<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>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#setRemote(int, java.lang.Object)">setRemote</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="beforeRefresh(boolean)"><!-- --></A><H3>
beforeRefresh</H3>
<PRE>
public boolean <B>beforeRefresh</B>(boolean&nbsp;refreshAll)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#beforeRefresh(boolean)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Prepare the instance for refresh
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#beforeRefresh(boolean)">beforeRefresh</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></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="serializing()"><!-- --></A><H3>
serializing</H3>
<PRE>
public boolean <B>serializing</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#serializing()">StateManager</A></CODE></B></DD>
<DD>Callback to prepare instance for serialization.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#serializing()">serializing</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>

<DT><B>Returns:</B><DD>true to null detached state after serialize</DL>
</DD>
</DL>
<HR>

<A NAME="writeDetached(java.io.ObjectOutput)"><!-- --></A><H3>
writeDetached</H3>
<PRE>
public boolean <B>writeDetached</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/ObjectOutput.html" title="class or interface in java.io">ObjectOutput</A>&nbsp;out)
                      throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#writeDetached(java.io.ObjectOutput)">StateManager</A></CODE></B></DD>
<DD>Write detached state object and detached state manager to the
 given stream.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#writeDetached(java.io.ObjectOutput)">writeDetached</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>

<DT><B>Returns:</B><DD>true if managed fields also written to stream
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="proxyDetachedDeserialized(int)"><!-- --></A><H3>
proxyDetachedDeserialized</H3>
<PRE>
public void <B>proxyDetachedDeserialized</B>(int&nbsp;idx)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#proxyDetachedDeserialized(int)">StateManager</A></CODE></B></DD>
<DD>Proxy the given detached field after deserialization.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#proxyDetachedDeserialized(int)">proxyDetachedDeserialized</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="isTransactional()"><!-- --></A><H3>
isTransactional</H3>
<PRE>
public boolean <B>isTransactional</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isTransactional()">StateManager</A></CODE></B></DD>
<DD>Whether the instance is transactional.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isTransactional()">isTransactional</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="isPendingTransactional()"><!-- --></A><H3>
isPendingTransactional</H3>
<PRE>
public boolean <B>isPendingTransactional</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isProvisional()"><!-- --></A><H3>
isProvisional</H3>
<PRE>
public boolean <B>isProvisional</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isProvisional()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return whether this object is provisionally persistent.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isProvisional()">isProvisional</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isPersistent()"><!-- --></A><H3>
isPersistent</H3>
<PRE>
public boolean <B>isPersistent</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isPersistent()">StateManager</A></CODE></B></DD>
<DD>Whether the instance is persistent.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isPersistent()">isPersistent</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="isNew()"><!-- --></A><H3>
isNew</H3>
<PRE>
public boolean <B>isNew</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isNew()">StateManager</A></CODE></B></DD>
<DD>Whether the instance is newly-persisted in this transaction.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isNew()">isNew</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="isDeleted()"><!-- --></A><H3>
isDeleted</H3>
<PRE>
public boolean <B>isDeleted</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isDeleted()">StateManager</A></CODE></B></DD>
<DD>Whether the instance is deleted in this transaction.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isDeleted()">isDeleted</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="isDirty()"><!-- --></A><H3>
isDirty</H3>
<PRE>
public boolean <B>isDirty</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isDirty()">StateManager</A></CODE></B></DD>
<DD>Whether the instance has been modified in this transaction.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isDirty()">isDirty</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="isDetached()"><!-- --></A><H3>
isDetached</H3>
<PRE>
public boolean <B>isDetached</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isDetached()">StateManager</A></CODE></B></DD>
<DD>Whether the instance is detached (i.e. this manager is a detached
 state manager)
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#isDetached()">isDetached</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="getGenericContext()"><!-- --></A><H3>
getGenericContext</H3>
<PRE>
public <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>getGenericContext</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#getGenericContext()">StateManager</A></CODE></B></DD>
<DD>Persistence context.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#getGenericContext()">getGenericContext</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="fetchObjectId()"><!-- --></A><H3>
fetchObjectId</H3>
<PRE>
public <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>fetchObjectId</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#fetchObjectId()">StateManager</A></CODE></B></DD>
<DD>Return the object id, assigning it if necessary.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#fetchObjectId()">fetchObjectId</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="getPCPrimaryKey(java.lang.Object, int)"><!-- --></A><H3>
getPCPrimaryKey</H3>
<PRE>
public <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>getPCPrimaryKey</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,
                              int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#getPCPrimaryKey(java.lang.Object, int)">StateManager</A></CODE></B></DD>
<DD>Return the persistence-capable primary key object by extracting the 
 identity value of the related instance stored in the given field from 
 the given object id.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#getPCPrimaryKey(java.lang.Object, int)">getPCPrimaryKey</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="replaceFlags()"><!-- --></A><H3>
replaceFlags</H3>
<PRE>
public byte <B>replaceFlags</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="replaceStateManager(org.apache.openjpa.enhance.StateManager)"><!-- --></A><H3>
replaceStateManager</H3>
<PRE>
public <A HREF="../../../../org/apache/openjpa/enhance/StateManager.html" title="interface in org.apache.openjpa.enhance">StateManager</A> <B>replaceStateManager</B>(<A HREF="../../../../org/apache/openjpa/enhance/StateManager.html" title="interface in org.apache.openjpa.enhance">StateManager</A>&nbsp;sm)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceStateManager(org.apache.openjpa.enhance.StateManager)">StateManager</A></CODE></B></DD>
<DD>Change state manager.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceStateManager(org.apache.openjpa.enhance.StateManager)">replaceStateManager</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="accessingField(int)"><!-- --></A><H3>
accessingField</H3>
<PRE>
public void <B>accessingField</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#accessingField(int)">StateManager</A></CODE></B></DD>
<DD>Field access callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#accessingField(int)">accessingField</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="beforeAccessField(int)"><!-- --></A><H3>
beforeAccessField</H3>
<PRE>
protected void <B>beforeAccessField</B>(int&nbsp;field)</PRE>
<DL>
<DD>Load the given field before access.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="dirty(java.lang.String)"><!-- --></A><H3>
dirty</H3>
<PRE>
public void <B>dirty</B>(<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;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#dirty(java.lang.String)">StateManager</A></CODE></B></DD>
<DD>Make named field dirty.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#dirty(java.lang.String)">dirty</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="dirty(int)"><!-- --></A><H3>
dirty</H3>
<PRE>
public void <B>dirty</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#dirty(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Mark the given field as dirty.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#dirty(int)">dirty</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="removed(int, java.lang.Object, boolean)"><!-- --></A><H3>
removed</H3>
<PRE>
public 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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#removed(int, java.lang.Object, boolean)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Notification that an element has been removed from the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#removed(int, java.lang.Object, boolean)">removed</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newProxy(int)"><!-- --></A><H3>
newProxy</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#newProxy(int)">OpenJPAStateManager</A></CODE></B></DD>
<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>OpenJPAStateManager.storeField(int, java.lang.Object)</CODE></A> or <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#store(int, java.lang.Object)"><CODE>OpenJPAStateManager.store(int, java.lang.Object)</CODE></A>
 will set the proxy's owner automatically.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#newProxy(int)">newProxy</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newFieldProxy(int)"><!-- --></A><H3>
newFieldProxy</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#newFieldProxy(int)">OpenJPAStateManager</A></CODE></B></DD>
<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>OpenJPAStateManager.newProxy(int)</CODE></A> in that it returns a proxy for the
 field's declared type, not its externalized type.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#newFieldProxy(int)">newFieldProxy</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#newProxy(int)"><CODE>OpenJPAStateManager.newProxy(int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="isDefaultValue(int)"><!-- --></A><H3>
isDefaultValue</H3>
<PRE>
public boolean <B>isDefaultValue</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isDefaultValue(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return true if the given field has a default value.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isDefaultValue(int)">isDefaultValue</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="settingBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int, boolean, boolean, int)"><!-- --></A><H3>
settingBooleanField</H3>
<PRE>
public void <B>settingBooleanField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                                int&nbsp;field,
                                boolean&nbsp;curVal,
                                boolean&nbsp;newVal,
                                int&nbsp;set)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int, boolean, boolean, int)">StateManager</A></CODE></B></DD>
<DD>Setting state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int, boolean, boolean, int)">settingBooleanField</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="settingByteField(org.apache.openjpa.enhance.PersistenceCapable, int, byte, byte, int)"><!-- --></A><H3>
settingByteField</H3>
<PRE>
public void <B>settingByteField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                             int&nbsp;field,
                             byte&nbsp;curVal,
                             byte&nbsp;newVal,
                             int&nbsp;set)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingByteField(org.apache.openjpa.enhance.PersistenceCapable, int, byte, byte, int)">StateManager</A></CODE></B></DD>
<DD>Setting state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingByteField(org.apache.openjpa.enhance.PersistenceCapable, int, byte, byte, int)">settingByteField</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="settingCharField(org.apache.openjpa.enhance.PersistenceCapable, int, char, char, int)"><!-- --></A><H3>
settingCharField</H3>
<PRE>
public void <B>settingCharField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                             int&nbsp;field,
                             char&nbsp;curVal,
                             char&nbsp;newVal,
                             int&nbsp;set)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingCharField(org.apache.openjpa.enhance.PersistenceCapable, int, char, char, int)">StateManager</A></CODE></B></DD>
<DD>Setting state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingCharField(org.apache.openjpa.enhance.PersistenceCapable, int, char, char, int)">settingCharField</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="settingDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int, double, double, int)"><!-- --></A><H3>
settingDoubleField</H3>
<PRE>
public void <B>settingDoubleField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                               int&nbsp;field,
                               double&nbsp;curVal,
                               double&nbsp;newVal,
                               int&nbsp;set)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int, double, double, int)">StateManager</A></CODE></B></DD>
<DD>Setting state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int, double, double, int)">settingDoubleField</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="settingFloatField(org.apache.openjpa.enhance.PersistenceCapable, int, float, float, int)"><!-- --></A><H3>
settingFloatField</H3>
<PRE>
public void <B>settingFloatField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                              int&nbsp;field,
                              float&nbsp;curVal,
                              float&nbsp;newVal,
                              int&nbsp;set)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingFloatField(org.apache.openjpa.enhance.PersistenceCapable, int, float, float, int)">StateManager</A></CODE></B></DD>
<DD>Setting state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingFloatField(org.apache.openjpa.enhance.PersistenceCapable, int, float, float, int)">settingFloatField</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="settingIntField(org.apache.openjpa.enhance.PersistenceCapable, int, int, int, int)"><!-- --></A><H3>
settingIntField</H3>
<PRE>
public void <B>settingIntField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                            int&nbsp;field,
                            int&nbsp;curVal,
                            int&nbsp;newVal,
                            int&nbsp;set)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingIntField(org.apache.openjpa.enhance.PersistenceCapable, int, int, int, int)">StateManager</A></CODE></B></DD>
<DD>Setting state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingIntField(org.apache.openjpa.enhance.PersistenceCapable, int, int, int, int)">settingIntField</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="settingLongField(org.apache.openjpa.enhance.PersistenceCapable, int, long, long, int)"><!-- --></A><H3>
settingLongField</H3>
<PRE>
public void <B>settingLongField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                             int&nbsp;field,
                             long&nbsp;curVal,
                             long&nbsp;newVal,
                             int&nbsp;set)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingLongField(org.apache.openjpa.enhance.PersistenceCapable, int, long, long, int)">StateManager</A></CODE></B></DD>
<DD>Setting state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingLongField(org.apache.openjpa.enhance.PersistenceCapable, int, long, long, int)">settingLongField</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="settingObjectField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.Object, java.lang.Object, int)"><!-- --></A><H3>
settingObjectField</H3>
<PRE>
public void <B>settingObjectField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                               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;curVal,
                               <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;newVal,
                               int&nbsp;set)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingObjectField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.Object, java.lang.Object, int)">StateManager</A></CODE></B></DD>
<DD>Setting state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingObjectField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.Object, java.lang.Object, int)">settingObjectField</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="settingShortField(org.apache.openjpa.enhance.PersistenceCapable, int, short, short, int)"><!-- --></A><H3>
settingShortField</H3>
<PRE>
public void <B>settingShortField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                              int&nbsp;field,
                              short&nbsp;curVal,
                              short&nbsp;newVal,
                              int&nbsp;set)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingShortField(org.apache.openjpa.enhance.PersistenceCapable, int, short, short, int)">StateManager</A></CODE></B></DD>
<DD>Setting state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingShortField(org.apache.openjpa.enhance.PersistenceCapable, int, short, short, int)">settingShortField</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="settingStringField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.String, java.lang.String, int)"><!-- --></A><H3>
settingStringField</H3>
<PRE>
public void <B>settingStringField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                               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;curVal,
                               <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;newVal,
                               int&nbsp;set)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingStringField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.String, java.lang.String, int)">StateManager</A></CODE></B></DD>
<DD>Setting state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#settingStringField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.String, java.lang.String, int)">settingStringField</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="providedBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int, boolean)"><!-- --></A><H3>
providedBooleanField</H3>
<PRE>
public void <B>providedBooleanField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                                 int&nbsp;field,
                                 boolean&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int, boolean)">StateManager</A></CODE></B></DD>
<DD>Provide state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int, boolean)">providedBooleanField</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="providedByteField(org.apache.openjpa.enhance.PersistenceCapable, int, byte)"><!-- --></A><H3>
providedByteField</H3>
<PRE>
public void <B>providedByteField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                              int&nbsp;field,
                              byte&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedByteField(org.apache.openjpa.enhance.PersistenceCapable, int, byte)">StateManager</A></CODE></B></DD>
<DD>Provide state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedByteField(org.apache.openjpa.enhance.PersistenceCapable, int, byte)">providedByteField</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="providedCharField(org.apache.openjpa.enhance.PersistenceCapable, int, char)"><!-- --></A><H3>
providedCharField</H3>
<PRE>
public void <B>providedCharField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                              int&nbsp;field,
                              char&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedCharField(org.apache.openjpa.enhance.PersistenceCapable, int, char)">StateManager</A></CODE></B></DD>
<DD>Provide state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedCharField(org.apache.openjpa.enhance.PersistenceCapable, int, char)">providedCharField</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="providedDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int, double)"><!-- --></A><H3>
providedDoubleField</H3>
<PRE>
public void <B>providedDoubleField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                                int&nbsp;field,
                                double&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int, double)">StateManager</A></CODE></B></DD>
<DD>Provide state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int, double)">providedDoubleField</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="providedFloatField(org.apache.openjpa.enhance.PersistenceCapable, int, float)"><!-- --></A><H3>
providedFloatField</H3>
<PRE>
public void <B>providedFloatField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                               int&nbsp;field,
                               float&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedFloatField(org.apache.openjpa.enhance.PersistenceCapable, int, float)">StateManager</A></CODE></B></DD>
<DD>Provide state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedFloatField(org.apache.openjpa.enhance.PersistenceCapable, int, float)">providedFloatField</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="providedIntField(org.apache.openjpa.enhance.PersistenceCapable, int, int)"><!-- --></A><H3>
providedIntField</H3>
<PRE>
public void <B>providedIntField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                             int&nbsp;field,
                             int&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedIntField(org.apache.openjpa.enhance.PersistenceCapable, int, int)">StateManager</A></CODE></B></DD>
<DD>Provide state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedIntField(org.apache.openjpa.enhance.PersistenceCapable, int, int)">providedIntField</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="providedLongField(org.apache.openjpa.enhance.PersistenceCapable, int, long)"><!-- --></A><H3>
providedLongField</H3>
<PRE>
public void <B>providedLongField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                              int&nbsp;field,
                              long&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedLongField(org.apache.openjpa.enhance.PersistenceCapable, int, long)">StateManager</A></CODE></B></DD>
<DD>Provide state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedLongField(org.apache.openjpa.enhance.PersistenceCapable, int, long)">providedLongField</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="providedObjectField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.Object)"><!-- --></A><H3>
providedObjectField</H3>
<PRE>
public void <B>providedObjectField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                                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;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedObjectField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.Object)">StateManager</A></CODE></B></DD>
<DD>Provide state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedObjectField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.Object)">providedObjectField</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="providedShortField(org.apache.openjpa.enhance.PersistenceCapable, int, short)"><!-- --></A><H3>
providedShortField</H3>
<PRE>
public void <B>providedShortField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                               int&nbsp;field,
                               short&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedShortField(org.apache.openjpa.enhance.PersistenceCapable, int, short)">StateManager</A></CODE></B></DD>
<DD>Provide state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedShortField(org.apache.openjpa.enhance.PersistenceCapable, int, short)">providedShortField</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="providedStringField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.String)"><!-- --></A><H3>
providedStringField</H3>
<PRE>
public void <B>providedStringField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                                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;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedStringField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.String)">StateManager</A></CODE></B></DD>
<DD>Provide state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#providedStringField(org.apache.openjpa.enhance.PersistenceCapable, int, java.lang.String)">providedStringField</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="replaceBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int)"><!-- --></A><H3>
replaceBooleanField</H3>
<PRE>
public boolean <B>replaceBooleanField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                                   int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int)">StateManager</A></CODE></B></DD>
<DD>Replace state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceBooleanField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceBooleanField</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="replaceByteField(org.apache.openjpa.enhance.PersistenceCapable, int)"><!-- --></A><H3>
replaceByteField</H3>
<PRE>
public byte <B>replaceByteField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                             int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceByteField(org.apache.openjpa.enhance.PersistenceCapable, int)">StateManager</A></CODE></B></DD>
<DD>Replace state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceByteField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceByteField</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="replaceCharField(org.apache.openjpa.enhance.PersistenceCapable, int)"><!-- --></A><H3>
replaceCharField</H3>
<PRE>
public char <B>replaceCharField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                             int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceCharField(org.apache.openjpa.enhance.PersistenceCapable, int)">StateManager</A></CODE></B></DD>
<DD>Replace state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceCharField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceCharField</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="replaceDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int)"><!-- --></A><H3>
replaceDoubleField</H3>
<PRE>
public double <B>replaceDoubleField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                                 int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int)">StateManager</A></CODE></B></DD>
<DD>Replace state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceDoubleField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceDoubleField</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="replaceFloatField(org.apache.openjpa.enhance.PersistenceCapable, int)"><!-- --></A><H3>
replaceFloatField</H3>
<PRE>
public float <B>replaceFloatField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                               int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceFloatField(org.apache.openjpa.enhance.PersistenceCapable, int)">StateManager</A></CODE></B></DD>
<DD>Replace state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceFloatField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceFloatField</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="replaceIntField(org.apache.openjpa.enhance.PersistenceCapable, int)"><!-- --></A><H3>
replaceIntField</H3>
<PRE>
public int <B>replaceIntField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                           int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceIntField(org.apache.openjpa.enhance.PersistenceCapable, int)">StateManager</A></CODE></B></DD>
<DD>Replace state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceIntField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceIntField</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="replaceLongField(org.apache.openjpa.enhance.PersistenceCapable, int)"><!-- --></A><H3>
replaceLongField</H3>
<PRE>
public long <B>replaceLongField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                             int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceLongField(org.apache.openjpa.enhance.PersistenceCapable, int)">StateManager</A></CODE></B></DD>
<DD>Replace state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceLongField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceLongField</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="replaceObjectField(org.apache.openjpa.enhance.PersistenceCapable, int)"><!-- --></A><H3>
replaceObjectField</H3>
<PRE>
public <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>replaceObjectField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                                 int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceObjectField(org.apache.openjpa.enhance.PersistenceCapable, int)">StateManager</A></CODE></B></DD>
<DD>Replace state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceObjectField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceObjectField</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="replaceShortField(org.apache.openjpa.enhance.PersistenceCapable, int)"><!-- --></A><H3>
replaceShortField</H3>
<PRE>
public short <B>replaceShortField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                               int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceShortField(org.apache.openjpa.enhance.PersistenceCapable, int)">StateManager</A></CODE></B></DD>
<DD>Replace state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceShortField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceShortField</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="replaceStringField(org.apache.openjpa.enhance.PersistenceCapable, int)"><!-- --></A><H3>
replaceStringField</H3>
<PRE>
public <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>replaceStringField</B>(<A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</A>&nbsp;pc,
                                 int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceStringField(org.apache.openjpa.enhance.PersistenceCapable, int)">StateManager</A></CODE></B></DD>
<DD>Replace state callback.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/StateManager.html#replaceStringField(org.apache.openjpa.enhance.PersistenceCapable, int)">replaceStringField</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="fetchBoolean(int)"><!-- --></A><H3>
fetchBoolean</H3>
<PRE>
public boolean <B>fetchBoolean</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchBoolean(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the external value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchBoolean(int)">fetchBoolean</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchBooleanField(int)"><!-- --></A><H3>
fetchBooleanField</H3>
<PRE>
public boolean <B>fetchBooleanField</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchBooleanField(int)">FieldSupplier</A></CODE></B></DD>
<DD>Return the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchBooleanField(int)">fetchBooleanField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchByte(int)"><!-- --></A><H3>
fetchByte</H3>
<PRE>
public byte <B>fetchByte</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchByte(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the external value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchByte(int)">fetchByte</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchByteField(int)"><!-- --></A><H3>
fetchByteField</H3>
<PRE>
public byte <B>fetchByteField</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchByteField(int)">FieldSupplier</A></CODE></B></DD>
<DD>Return the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchByteField(int)">fetchByteField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchChar(int)"><!-- --></A><H3>
fetchChar</H3>
<PRE>
public char <B>fetchChar</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchChar(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the external value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchChar(int)">fetchChar</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchCharField(int)"><!-- --></A><H3>
fetchCharField</H3>
<PRE>
public char <B>fetchCharField</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchCharField(int)">FieldSupplier</A></CODE></B></DD>
<DD>Return the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchCharField(int)">fetchCharField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchDouble(int)"><!-- --></A><H3>
fetchDouble</H3>
<PRE>
public double <B>fetchDouble</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchDouble(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the external value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchDouble(int)">fetchDouble</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchDoubleField(int)"><!-- --></A><H3>
fetchDoubleField</H3>
<PRE>
public double <B>fetchDoubleField</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchDoubleField(int)">FieldSupplier</A></CODE></B></DD>
<DD>Return the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchDoubleField(int)">fetchDoubleField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchFloat(int)"><!-- --></A><H3>
fetchFloat</H3>
<PRE>
public float <B>fetchFloat</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchFloat(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the external value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchFloat(int)">fetchFloat</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchFloatField(int)"><!-- --></A><H3>
fetchFloatField</H3>
<PRE>
public float <B>fetchFloatField</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchFloatField(int)">FieldSupplier</A></CODE></B></DD>
<DD>Return the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchFloatField(int)">fetchFloatField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchInt(int)"><!-- --></A><H3>
fetchInt</H3>
<PRE>
public int <B>fetchInt</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchInt(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the external value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchInt(int)">fetchInt</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchIntField(int)"><!-- --></A><H3>
fetchIntField</H3>
<PRE>
public int <B>fetchIntField</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchIntField(int)">FieldSupplier</A></CODE></B></DD>
<DD>Return the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchIntField(int)">fetchIntField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchLong(int)"><!-- --></A><H3>
fetchLong</H3>
<PRE>
public long <B>fetchLong</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchLong(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the external value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchLong(int)">fetchLong</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchLongField(int)"><!-- --></A><H3>
fetchLongField</H3>
<PRE>
public long <B>fetchLongField</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchLongField(int)">FieldSupplier</A></CODE></B></DD>
<DD>Return the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchLongField(int)">fetchLongField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchObject(int)"><!-- --></A><H3>
fetchObject</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchObject(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the external value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchObject(int)">fetchObject</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchObjectField(int)"><!-- --></A><H3>
fetchObjectField</H3>
<PRE>
public <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>fetchObjectField</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchObjectField(int)">FieldSupplier</A></CODE></B></DD>
<DD>Return the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchObjectField(int)">fetchObjectField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchShort(int)"><!-- --></A><H3>
fetchShort</H3>
<PRE>
public short <B>fetchShort</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchShort(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the external value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchShort(int)">fetchShort</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchShortField(int)"><!-- --></A><H3>
fetchShortField</H3>
<PRE>
public short <B>fetchShortField</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchShortField(int)">FieldSupplier</A></CODE></B></DD>
<DD>Return the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchShortField(int)">fetchShortField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchString(int)"><!-- --></A><H3>
fetchString</H3>
<PRE>
public <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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchString(int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Return the external value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#fetchString(int)">fetchString</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fetchStringField(int)"><!-- --></A><H3>
fetchStringField</H3>
<PRE>
public <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>fetchStringField</B>(int&nbsp;field)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchStringField(int)">FieldSupplier</A></CODE></B></DD>
<DD>Return the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchStringField(int)">fetchStringField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeBoolean(int, boolean)"><!-- --></A><H3>
storeBoolean</H3>
<PRE>
public void <B>storeBoolean</B>(int&nbsp;field,
                         boolean&nbsp;externalVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeBoolean(int, boolean)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeBoolean(int, boolean)">storeBoolean</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeBooleanField(int, boolean)"><!-- --></A><H3>
storeBooleanField</H3>
<PRE>
public void <B>storeBooleanField</B>(int&nbsp;field,
                              boolean&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeBooleanField(int, boolean)">FieldConsumer</A></CODE></B></DD>
<DD>Set the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeBooleanField(int, boolean)">storeBooleanField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeByte(int, byte)"><!-- --></A><H3>
storeByte</H3>
<PRE>
public void <B>storeByte</B>(int&nbsp;field,
                      byte&nbsp;externalVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeByte(int, byte)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeByte(int, byte)">storeByte</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeByteField(int, byte)"><!-- --></A><H3>
storeByteField</H3>
<PRE>
public void <B>storeByteField</B>(int&nbsp;field,
                           byte&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeByteField(int, byte)">FieldConsumer</A></CODE></B></DD>
<DD>Set the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeByteField(int, byte)">storeByteField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeChar(int, char)"><!-- --></A><H3>
storeChar</H3>
<PRE>
public void <B>storeChar</B>(int&nbsp;field,
                      char&nbsp;externalVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeChar(int, char)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeChar(int, char)">storeChar</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeCharField(int, char)"><!-- --></A><H3>
storeCharField</H3>
<PRE>
public void <B>storeCharField</B>(int&nbsp;field,
                           char&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeCharField(int, char)">FieldConsumer</A></CODE></B></DD>
<DD>Set the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeCharField(int, char)">storeCharField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeDouble(int, double)"><!-- --></A><H3>
storeDouble</H3>
<PRE>
public void <B>storeDouble</B>(int&nbsp;field,
                        double&nbsp;externalVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeDouble(int, double)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeDouble(int, double)">storeDouble</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeDoubleField(int, double)"><!-- --></A><H3>
storeDoubleField</H3>
<PRE>
public void <B>storeDoubleField</B>(int&nbsp;field,
                             double&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeDoubleField(int, double)">FieldConsumer</A></CODE></B></DD>
<DD>Set the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeDoubleField(int, double)">storeDoubleField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeFloat(int, float)"><!-- --></A><H3>
storeFloat</H3>
<PRE>
public void <B>storeFloat</B>(int&nbsp;field,
                       float&nbsp;externalVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeFloat(int, float)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeFloat(int, float)">storeFloat</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeFloatField(int, float)"><!-- --></A><H3>
storeFloatField</H3>
<PRE>
public void <B>storeFloatField</B>(int&nbsp;field,
                            float&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeFloatField(int, float)">FieldConsumer</A></CODE></B></DD>
<DD>Set the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeFloatField(int, float)">storeFloatField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeInt(int, int)"><!-- --></A><H3>
storeInt</H3>
<PRE>
public void <B>storeInt</B>(int&nbsp;field,
                     int&nbsp;externalVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeInt(int, int)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeInt(int, int)">storeInt</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeIntField(int, int)"><!-- --></A><H3>
storeIntField</H3>
<PRE>
public void <B>storeIntField</B>(int&nbsp;field,
                          int&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeIntField(int, int)">FieldConsumer</A></CODE></B></DD>
<DD>Set the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeIntField(int, int)">storeIntField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeLong(int, long)"><!-- --></A><H3>
storeLong</H3>
<PRE>
public void <B>storeLong</B>(int&nbsp;field,
                      long&nbsp;externalVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeLong(int, long)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeLong(int, long)">storeLong</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeLongField(int, long)"><!-- --></A><H3>
storeLongField</H3>
<PRE>
public void <B>storeLongField</B>(int&nbsp;field,
                           long&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeLongField(int, long)">FieldConsumer</A></CODE></B></DD>
<DD>Set the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeLongField(int, long)">storeLongField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeObject(int, java.lang.Object)"><!-- --></A><H3>
storeObject</H3>
<PRE>
public 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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeObject(int, java.lang.Object)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeObject(int, java.lang.Object)">storeObject</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeObjectField(int, java.lang.Object)"><!-- --></A><H3>
storeObjectField</H3>
<PRE>
public void <B>storeObjectField</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;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeObjectField(int, java.lang.Object)">FieldConsumer</A></CODE></B></DD>
<DD>Set the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeObjectField(int, java.lang.Object)">storeObjectField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeShort(int, short)"><!-- --></A><H3>
storeShort</H3>
<PRE>
public void <B>storeShort</B>(int&nbsp;field,
                       short&nbsp;externalVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeShort(int, short)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeShort(int, short)">storeShort</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeShortField(int, short)"><!-- --></A><H3>
storeShortField</H3>
<PRE>
public void <B>storeShortField</B>(int&nbsp;field,
                            short&nbsp;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeShortField(int, short)">FieldConsumer</A></CODE></B></DD>
<DD>Set the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeShortField(int, short)">storeShortField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeString(int, java.lang.String)"><!-- --></A><H3>
storeString</H3>
<PRE>
public 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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeString(int, java.lang.String)">OpenJPAStateManager</A></CODE></B></DD>
<DD>Set the given external value back into the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#storeString(int, java.lang.String)">storeString</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="storeStringField(int, java.lang.String)"><!-- --></A><H3>
storeStringField</H3>
<PRE>
public void <B>storeStringField</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;curVal)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeStringField(int, java.lang.String)">FieldConsumer</A></CODE></B></DD>
<DD>Set the value of the given field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeStringField(int, java.lang.String)">storeStringField</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getSaveFieldManager()"><!-- --></A><H3>
getSaveFieldManager</H3>
<PRE>
public <A HREF="../../../../org/apache/openjpa/kernel/SaveFieldManager.html" title="class in org.apache.openjpa.kernel">SaveFieldManager</A> <B>getSaveFieldManager</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="loadField(int, int, boolean, boolean)"><!-- --></A><H3>
loadField</H3>
<PRE>
protected void <B>loadField</B>(int&nbsp;field,
                         int&nbsp;lockLevel,
                         boolean&nbsp;forWrite,
                         boolean&nbsp;fgs)</PRE>
<DL>
<DD>Load the given field's fetch group; the field itself may already be
 loaded if it is being set by the user.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isVersionCheckRequired()"><!-- --></A><H3>
isVersionCheckRequired</H3>
<PRE>
public boolean <B>isVersionCheckRequired</B>()</PRE>
<DL>
<DD>Returns whether this instance needs a version check.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isVersionCheckRequired()">isVersionCheckRequired</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isVersionUpdateRequired()"><!-- --></A><H3>
isVersionUpdateRequired</H3>
<PRE>
public boolean <B>isVersionUpdateRequired</B>()</PRE>
<DL>
<DD>Returns whether this instance needs a version update.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isVersionUpdateRequired()">isVersionUpdateRequired</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="translate(java.lang.RuntimeException)"><!-- --></A><H3>
translate</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</A> <B>translate</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</A>&nbsp;re)</PRE>
<DL>
<DD>Translate the given exception based on the broker's implicit behavior.
 Translation only occurs if the exception is initiated by a user action
 on an instance, and therefore will not be caught and translated by the
 broker.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="lock()"><!-- --></A><H3>
lock</H3>
<PRE>
protected void <B>lock</B>()</PRE>
<DL>
<DD>Lock the state manager if the multithreaded option is set.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="unlock()"><!-- --></A><H3>
unlock</H3>
<PRE>
protected void <B>unlock</B>()</PRE>
<DL>
<DD>Unlock the state manager.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/StateManagerImpl.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/Seq.html" title="interface in org.apache.openjpa.kernel"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface 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/StateManagerImpl.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="StateManagerImpl.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2006-2008 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
