<!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_11) on Tue Feb 12 17:38:27 PST 2008 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
DetachedValueStateManager (OpenJPA 1.0.2 API)
</TITLE>

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

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="DetachedValueStateManager (OpenJPA 1.0.2 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/DetachedValueStateManager.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/DetachedStateManager.html" title="class in org.apache.openjpa.kernel"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/DetachManager.html" title="class in org.apache.openjpa.kernel"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/openjpa/kernel/DetachedValueStateManager.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="DetachedValueStateManager.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 DetachedValueStateManager</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.DetachedValueStateManager</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>DetachedValueStateManager</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 <A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel"><CODE>OpenJPAStateManager</CODE></A> designed to retrieve
 values from a detached instance, including when managed by a
 <A HREF="../../../../org/apache/openjpa/kernel/DetachedStateManager.html" title="class in org.apache.openjpa.kernel"><CODE>DetachedStateManager</CODE></A>.
<P>

<P>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.html#dblval">dblval</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>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.html#field">field</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>protected &nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.html#longval">longval</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>protected &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/DetachedValueStateManager.html#objval">objval</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><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.html#DetachedValueStateManager(java.lang.Object, org.apache.openjpa.kernel.StoreContext)">DetachedValueStateManager</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;pc,
                          <A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A>&nbsp;ctx)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.html#DetachedValueStateManager(org.apache.openjpa.enhance.PersistenceCapable, org.apache.openjpa.meta.ClassMetaData, org.apache.openjpa.kernel.StoreContext)">DetachedValueStateManager</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/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>&nbsp;meta,
                          <A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A>&nbsp;ctx)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.html#accessingField(int)">accessingField</A></B>(int&nbsp;idx)</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/DetachedValueStateManager.html#assignObjectId(boolean)">assignObjectId</A></B>(boolean&nbsp;flush)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ask the store manager to assign a permanent oid to this new instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.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/DetachedValueStateManager.html#clear()">clear</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear any held state.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.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/DetachedValueStateManager.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;<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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.html#fetchFromDetachedSM(org.apache.openjpa.kernel.DetachedStateManager, int)">fetchFromDetachedSM</A></B>(<A HREF="../../../../org/apache/openjpa/kernel/DetachedStateManager.html" title="class in org.apache.openjpa.kernel">DetachedStateManager</A>&nbsp;sm,
                    int&nbsp;field)</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/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.html#getPersistenceCapable()">getPersistenceCapable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the <A HREF="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance"><CODE>PersistenceCapable</CODE></A> instance that provides access to
 the instance managed by this state manager.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/BitSet.html" title="class or interface in java.util">BitSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.html#initialize(java.lang.Class, org.apache.openjpa.kernel.PCState)">initialize</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;forType,
           <A HREF="../../../../org/apache/openjpa/kernel/PCState.html" title="class in org.apache.openjpa.kernel">PCState</A>&nbsp;state)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize the state manager with a new instance of the given
 persistence capable type and the proper lifecycle state.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.html#isVersionCheckRequired()">isVersionCheckRequired</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this state needs to issue a version check at flush time.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.html#isVersionUpdateRequired()">isVersionUpdateRequired</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this state needs to issue a version update, possibly
 as a result of being locked.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.html#load(org.apache.openjpa.kernel.FetchConfiguration)">load</A></B>(<A HREF="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</A>&nbsp;fetch)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Load fetch group fields.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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;idx,
                     boolean&nbsp;cur)</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/DetachedValueStateManager.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;idx,
                  byte&nbsp;cur)</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/DetachedValueStateManager.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;idx,
                  char&nbsp;cur)</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/DetachedValueStateManager.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;idx,
                    double&nbsp;cur)</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/DetachedValueStateManager.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;idx,
                   float&nbsp;cur)</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/DetachedValueStateManager.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;idx,
                 int&nbsp;cur)</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/DetachedValueStateManager.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;idx,
                  long&nbsp;cur)</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/DetachedValueStateManager.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;idx,
                    <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;cur)</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/DetachedValueStateManager.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;idx,
                   short&nbsp;cur)</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/DetachedValueStateManager.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;idx,
                    <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;cur)</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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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;idx)</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/DetachedValueStateManager.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;idx)</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/DetachedValueStateManager.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;idx)</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/DetachedValueStateManager.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;idx)</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;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.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;idx)</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/DetachedValueStateManager.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;idx)</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/DetachedValueStateManager.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;idx)</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/DetachedValueStateManager.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;idx)</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/DetachedValueStateManager.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;idx)</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/DetachedValueStateManager.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/DetachedValueStateManager.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;idx)</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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.html#setIntermediate(int, java.lang.Object)">setIntermediate</A></B>(int&nbsp;field,
                <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use intermediate field data to store intermediate information that
 might be available before the field is fully loaded.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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;idx,
                    boolean&nbsp;cur,
                    boolean&nbsp;next,
                    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/DetachedValueStateManager.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;idx,
                 byte&nbsp;cur,
                 byte&nbsp;next,
                 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/DetachedValueStateManager.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;idx,
                 char&nbsp;cur,
                 char&nbsp;next,
                 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/DetachedValueStateManager.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;idx,
                   double&nbsp;cur,
                   double&nbsp;next,
                   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/DetachedValueStateManager.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;idx,
                  float&nbsp;cur,
                  float&nbsp;next,
                  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/DetachedValueStateManager.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;idx,
                int&nbsp;cur,
                int&nbsp;next,
                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/DetachedValueStateManager.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;idx,
                 long&nbsp;cur,
                 long&nbsp;next,
                 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/DetachedValueStateManager.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;idx,
                   <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;cur,
                   <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;next,
                   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/DetachedValueStateManager.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;idx,
                  short&nbsp;cur,
                  short&nbsp;next,
                  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/DetachedValueStateManager.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;idx,
                   <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;cur,
                   <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;next,
                   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/DetachedValueStateManager.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/DetachedValueStateManager.html#store(int, java.lang.Object)">store</A></B>(int&nbsp;field,
      <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of the field with the given index as from the external
 object value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.html#storeField(int, java.lang.Object)">storeField</A></B>(int&nbsp;field,
           <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of the field with the given index as an object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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/DetachedValueStateManager.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>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/DetachedValueStateManager.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;<A NAME="methods_inherited_from_class_org.apache.openjpa.enhance.FieldConsumer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.openjpa.enhance.<A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeBooleanField(int, boolean)">storeBooleanField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeByteField(int, byte)">storeByteField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeCharField(int, char)">storeCharField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeDoubleField(int, double)">storeDoubleField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeFloatField(int, float)">storeFloatField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeIntField(int, int)">storeIntField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeLongField(int, long)">storeLongField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeObjectField(int, java.lang.Object)">storeObjectField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeShortField(int, short)">storeShortField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldConsumer.html#storeStringField(int, java.lang.String)">storeStringField</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.enhance.FieldSupplier"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.openjpa.enhance.<A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchBooleanField(int)">fetchBooleanField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchByteField(int)">fetchByteField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchCharField(int)">fetchCharField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchDoubleField(int)">fetchDoubleField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchFloatField(int)">fetchFloatField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchIntField(int)">fetchIntField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchLongField(int)">fetchLongField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchObjectField(int)">fetchObjectField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchShortField(int)">fetchShortField</A>, <A HREF="../../../../org/apache/openjpa/enhance/FieldSupplier.html#fetchStringField(int)">fetchStringField</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

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

<A NAME="dblval"><!-- --></A><H3>
dblval</H3>
<PRE>
protected double <B>dblval</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="longval"><!-- --></A><H3>
longval</H3>
<PRE>
protected long <B>longval</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="objval"><!-- --></A><H3>
objval</H3>
<PRE>
protected <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>objval</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="field"><!-- --></A><H3>
field</H3>
<PRE>
protected int <B>field</B></PRE>
<DL>
<DL>
</DL>
</DL>

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

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

<A NAME="DetachedValueStateManager(java.lang.Object, org.apache.openjpa.kernel.StoreContext)"><!-- --></A><H3>
DetachedValueStateManager</H3>
<PRE>
public <B>DetachedValueStateManager</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;pc,
                                 <A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A>&nbsp;ctx)</PRE>
<DL>
</DL>
<HR>

<A NAME="DetachedValueStateManager(org.apache.openjpa.enhance.PersistenceCapable, org.apache.openjpa.meta.ClassMetaData, org.apache.openjpa.kernel.StoreContext)"><!-- --></A><H3>
DetachedValueStateManager</H3>
<PRE>
public <B>DetachedValueStateManager</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/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>&nbsp;meta,
                                 <A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A>&nbsp;ctx)</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

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

<A NAME="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;forType,
                       <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>forType</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="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="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="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="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="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="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="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="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="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="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="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="isVersionUpdateRequired()"><!-- --></A><H3>
isVersionUpdateRequired</H3>
<PRE>
public boolean <B>isVersionUpdateRequired</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isVersionUpdateRequired()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Returns true if this state needs to issue a version update, possibly
 as a result of being locked.
<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="isVersionCheckRequired()"><!-- --></A><H3>
isVersionCheckRequired</H3>
<PRE>
public boolean <B>isVersionCheckRequired</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html#isVersionCheckRequired()">OpenJPAStateManager</A></CODE></B></DD>
<DD>Returns true if this state needs to issue a version check at flush time.
<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="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;value)</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="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="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="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="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="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="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="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="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="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="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="fetchFromDetachedSM(org.apache.openjpa.kernel.DetachedStateManager, int)"><!-- --></A><H3>
fetchFromDetachedSM</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>fetchFromDetachedSM</B>(<A HREF="../../../../org/apache/openjpa/kernel/DetachedStateManager.html" title="class in org.apache.openjpa.kernel">DetachedStateManager</A>&nbsp;sm,
                                  int&nbsp;field)</PRE>
<DL>
<DD><DL>
</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="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="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="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="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="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="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="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="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="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="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="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="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;value)</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;value)</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="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="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="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="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="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="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="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="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="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="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="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="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="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)</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</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="accessingField(int)"><!-- --></A><H3>
accessingField</H3>
<PRE>
public void <B>accessingField</B>(int&nbsp;idx)</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="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;idx,
                                 boolean&nbsp;cur)</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="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;idx,
                              char&nbsp;cur)</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="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;idx,
                              byte&nbsp;cur)</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="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;idx,
                               short&nbsp;cur)</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="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;idx,
                             int&nbsp;cur)</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;idx,
                              long&nbsp;cur)</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="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;idx,
                               float&nbsp;cur)</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="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;idx,
                                double&nbsp;cur)</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="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;idx,
                                <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;cur)</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="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;idx,
                                <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;cur)</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="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;idx,
                                boolean&nbsp;cur,
                                boolean&nbsp;next,
                                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="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;idx,
                             char&nbsp;cur,
                             char&nbsp;next,
                             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="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;idx,
                             byte&nbsp;cur,
                             byte&nbsp;next,
                             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="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;idx,
                              short&nbsp;cur,
                              short&nbsp;next,
                              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="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;idx,
                            int&nbsp;cur,
                            int&nbsp;next,
                            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;idx,
                             long&nbsp;cur,
                             long&nbsp;next,
                             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="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;idx,
                              float&nbsp;cur,
                              float&nbsp;next,
                              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="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;idx,
                               double&nbsp;cur,
                               double&nbsp;next,
                               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="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;idx,
                               <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;cur,
                               <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;next,
                               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="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;idx,
                               <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;cur,
                               <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;next,
                               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="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;idx)</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="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;idx)</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="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;idx)</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="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;idx)</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="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;idx)</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;idx)</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="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;idx)</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="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;idx)</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="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;idx)</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="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;idx)</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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="clear()"><!-- --></A><H3>
clear</H3>
<PRE>
public void <B>clear</B>()</PRE>
<DL>
<DD>Clear any held state. Fields are also cleared automatically when fetched.
<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/DetachedValueStateManager.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/DetachedStateManager.html" title="class in org.apache.openjpa.kernel"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/DetachManager.html" title="class in org.apache.openjpa.kernel"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/openjpa/kernel/DetachedValueStateManager.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="DetachedValueStateManager.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 &copy; 2006-2008 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
