<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_25) on Sun Sep 22 17:57:50 MST 2013 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
StateManager (JDO API null)
</TITLE>

<META NAME="date" CONTENT="2013-09-22">

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="StateManager (JDO API null)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

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


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/StateManager.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="../../../javax/jdo/spi/StateInterrogation.html" title="interface in javax.jdo.spi"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html?javax/jdo/spi/StateManager.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="StateManager.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
javax.jdo.spi</FONT>
<BR>
Interface StateManager</H2>
<HR>
<DL>
<DT><PRE>public interface <B>StateManager</B></DL>
</PRE>

<P>
This interface is the point of contact between managed instances of
 <code>PersistenceCapable</code> classes and the JDO implementation.  It 
 contains the methods used by <code>PersistenceCapable</code> instances to 
 delegate behavior to the JDO implementation.
<P>Each managed <code>PersistenceCapable</code> instance contains a reference 
 to a <code>StateManager</code>.  A <code>StateManager</code> might manage one 
 or multiple instances of <code>PersistenceCapable</code> instances, at the 
 choice of the implementation.
<P>

<P>
<DL>
<DT><B>Version:</B></DT>
  <DD>2.0</DD>
</DL>
<HR>

<P>

<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#getBooleanField(javax.jdo.spi.PersistenceCapable, int, boolean)">getBooleanField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                int&nbsp;field,
                boolean&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value for the 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="../../../javax/jdo/spi/StateManager.html#getByteField(javax.jdo.spi.PersistenceCapable, int, byte)">getByteField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
             int&nbsp;field,
             byte&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value for the 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="../../../javax/jdo/spi/StateManager.html#getCharField(javax.jdo.spi.PersistenceCapable, int, char)">getCharField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
             int&nbsp;field,
             char&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value for the 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="../../../javax/jdo/spi/StateManager.html#getDoubleField(javax.jdo.spi.PersistenceCapable, int, double)">getDoubleField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
               int&nbsp;field,
               double&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value for the 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="../../../javax/jdo/spi/StateManager.html#getFloatField(javax.jdo.spi.PersistenceCapable, int, float)">getFloatField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
              int&nbsp;field,
              float&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value for the 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="../../../javax/jdo/spi/StateManager.html#getIntField(javax.jdo.spi.PersistenceCapable, int, int)">getIntField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
            int&nbsp;field,
            int&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value for the 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="../../../javax/jdo/spi/StateManager.html#getLongField(javax.jdo.spi.PersistenceCapable, int, long)">getLongField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
             int&nbsp;field,
             long&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value for the field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#getObjectField(javax.jdo.spi.PersistenceCapable, int, java.lang.Object)">getObjectField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
               int&nbsp;field,
               <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value for the field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#getObjectId(javax.jdo.spi.PersistenceCapable)">getObjectId</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the object representing the JDO identity 
 of the calling instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/jdo/PersistenceManager.html" title="interface in javax.jdo">PersistenceManager</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#getPersistenceManager(javax.jdo.spi.PersistenceCapable)">getPersistenceManager</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the <code>PersistenceManager</code> that owns this instance.</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="../../../javax/jdo/spi/StateManager.html#getShortField(javax.jdo.spi.PersistenceCapable, int, short)">getShortField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
              int&nbsp;field,
              short&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value for the field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#getStringField(javax.jdo.spi.PersistenceCapable, int, java.lang.String)">getStringField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
               int&nbsp;field,
               <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value for the field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#getTransactionalObjectId(javax.jdo.spi.PersistenceCapable)">getTransactionalObjectId</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the object representing the JDO identity 
 of the calling instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#getVersion(javax.jdo.spi.PersistenceCapable)">getVersion</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the object representing the version 
 of the calling 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="../../../javax/jdo/spi/StateManager.html#isDeleted(javax.jdo.spi.PersistenceCapable)">isDeleted</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether this object has been deleted.</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="../../../javax/jdo/spi/StateManager.html#isDirty(javax.jdo.spi.PersistenceCapable)">isDirty</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether this object is dirty.</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="../../../javax/jdo/spi/StateManager.html#isLoaded(javax.jdo.spi.PersistenceCapable, int)">isLoaded</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
         int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return <code>true</code> if the field is cached in the calling
 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="../../../javax/jdo/spi/StateManager.html#isNew(javax.jdo.spi.PersistenceCapable)">isNew</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether this object has been newly made 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="../../../javax/jdo/spi/StateManager.html#isPersistent(javax.jdo.spi.PersistenceCapable)">isPersistent</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether this object 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="../../../javax/jdo/spi/StateManager.html#isTransactional(javax.jdo.spi.PersistenceCapable)">isTransactional</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether this object is transactional.</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="../../../javax/jdo/spi/StateManager.html#makeDirty(javax.jdo.spi.PersistenceCapable, java.lang.String)">makeDirty</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
          <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fieldName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark the associated <code>PersistenceCapable</code> field dirty.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#preSerialize(javax.jdo.spi.PersistenceCapable)">preSerialize</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Guarantee that the serializable transactional and persistent fields
 are loaded into the 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="../../../javax/jdo/spi/StateManager.html#providedBooleanField(javax.jdo.spi.PersistenceCapable, int, boolean)">providedBooleanField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                     int&nbsp;field,
                     boolean&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the field requested to be provided to the 
 <code>StateManager</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#providedByteField(javax.jdo.spi.PersistenceCapable, int, byte)">providedByteField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  byte&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the field requested to be provided to the 
 <code>StateManager</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#providedCharField(javax.jdo.spi.PersistenceCapable, int, char)">providedCharField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  char&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the field requested to be provided to the 
 <code>StateManager</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#providedDoubleField(javax.jdo.spi.PersistenceCapable, int, double)">providedDoubleField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                    int&nbsp;field,
                    double&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the field requested to be provided to the 
 <code>StateManager</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#providedFloatField(javax.jdo.spi.PersistenceCapable, int, float)">providedFloatField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                   int&nbsp;field,
                   float&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the field requested to be provided to the 
 <code>StateManager</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#providedIntField(javax.jdo.spi.PersistenceCapable, int, int)">providedIntField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                 int&nbsp;field,
                 int&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the field requested to be provided to the 
 <code>StateManager</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#providedLongField(javax.jdo.spi.PersistenceCapable, int, long)">providedLongField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  long&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the field requested to be provided to the 
 <code>StateManager</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#providedObjectField(javax.jdo.spi.PersistenceCapable, int, java.lang.Object)">providedObjectField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                    int&nbsp;field,
                    <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the field requested to be provided to the 
 <code>StateManager</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#providedShortField(javax.jdo.spi.PersistenceCapable, int, short)">providedShortField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                   int&nbsp;field,
                   short&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the field requested to be provided to the 
 <code>StateManager</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#providedStringField(javax.jdo.spi.PersistenceCapable, int, java.lang.String)">providedStringField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                    int&nbsp;field,
                    <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;currentValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the field requested to be provided to the 
 <code>StateManager</code>.</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="../../../javax/jdo/spi/StateManager.html#replacingBooleanField(javax.jdo.spi.PersistenceCapable, int)">replacingBooleanField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                      int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The replacement value of the field in the calling instance.</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="../../../javax/jdo/spi/StateManager.html#replacingByteField(javax.jdo.spi.PersistenceCapable, int)">replacingByteField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                   int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The replacement value of the field in the calling instance.</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="../../../javax/jdo/spi/StateManager.html#replacingCharField(javax.jdo.spi.PersistenceCapable, int)">replacingCharField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                   int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The replacement value of the field in the calling instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#replacingDetachedState(javax.jdo.spi.Detachable, java.lang.Object[])">replacingDetachedState</A></B>(<A HREF="../../../javax/jdo/spi/Detachable.html" title="interface in javax.jdo.spi">Detachable</A>&nbsp;pc,
                       <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;state)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The replacement value of the detached state in the calling instance.</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="../../../javax/jdo/spi/StateManager.html#replacingDoubleField(javax.jdo.spi.PersistenceCapable, int)">replacingDoubleField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                     int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The replacement value of the field in the calling instance.</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="../../../javax/jdo/spi/StateManager.html#replacingFlags(javax.jdo.spi.PersistenceCapable)">replacingFlags</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The owning <code>StateManager</code> uses this method to supply the 
 value of the flags to the <code>PersistenceCapable</code> instance.</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="../../../javax/jdo/spi/StateManager.html#replacingFloatField(javax.jdo.spi.PersistenceCapable, int)">replacingFloatField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                    int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The replacement value of the field in the calling instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#replacingIntField(javax.jdo.spi.PersistenceCapable, int)">replacingIntField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The replacement value of the field in the calling instance.</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="../../../javax/jdo/spi/StateManager.html#replacingLongField(javax.jdo.spi.PersistenceCapable, int)">replacingLongField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                   int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The replacement value of the field in the calling instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#replacingObjectField(javax.jdo.spi.PersistenceCapable, int)">replacingObjectField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                     int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The replacement value of the field in the calling instance.</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="../../../javax/jdo/spi/StateManager.html#replacingShortField(javax.jdo.spi.PersistenceCapable, int)">replacingShortField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                    int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The replacement value of the field in the calling instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/jdo/spi/StateManager.html" title="interface in javax.jdo.spi">StateManager</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#replacingStateManager(javax.jdo.spi.PersistenceCapable, javax.jdo.spi.StateManager)">replacingStateManager</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                      <A HREF="../../../javax/jdo/spi/StateManager.html" title="interface in javax.jdo.spi">StateManager</A>&nbsp;sm)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace the current value of <code>jdoStateManager</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateManager.html#replacingStringField(javax.jdo.spi.PersistenceCapable, int)">replacingStringField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                     int&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The replacement value of the field in the calling 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="../../../javax/jdo/spi/StateManager.html#setBooleanField(javax.jdo.spi.PersistenceCapable, int, boolean, boolean)">setBooleanField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                int&nbsp;field,
                boolean&nbsp;currentValue,
                boolean&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark the field as modified by the user.</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="../../../javax/jdo/spi/StateManager.html#setByteField(javax.jdo.spi.PersistenceCapable, int, byte, byte)">setByteField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
             int&nbsp;field,
             byte&nbsp;currentValue,
             byte&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark the field as modified by the user.</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="../../../javax/jdo/spi/StateManager.html#setCharField(javax.jdo.spi.PersistenceCapable, int, char, char)">setCharField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
             int&nbsp;field,
             char&nbsp;currentValue,
             char&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark the field as modified by the user.</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="../../../javax/jdo/spi/StateManager.html#setDoubleField(javax.jdo.spi.PersistenceCapable, int, double, double)">setDoubleField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
               int&nbsp;field,
               double&nbsp;currentValue,
               double&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark the field as modified by the user.</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="../../../javax/jdo/spi/StateManager.html#setFloatField(javax.jdo.spi.PersistenceCapable, int, float, float)">setFloatField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
              int&nbsp;field,
              float&nbsp;currentValue,
              float&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark the field as modified by the user.</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="../../../javax/jdo/spi/StateManager.html#setIntField(javax.jdo.spi.PersistenceCapable, int, int, int)">setIntField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
            int&nbsp;field,
            int&nbsp;currentValue,
            int&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark the field as modified by the user.</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="../../../javax/jdo/spi/StateManager.html#setLongField(javax.jdo.spi.PersistenceCapable, int, long, long)">setLongField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
             int&nbsp;field,
             long&nbsp;currentValue,
             long&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark the field as modified by the user.</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="../../../javax/jdo/spi/StateManager.html#setObjectField(javax.jdo.spi.PersistenceCapable, int, java.lang.Object, java.lang.Object)">setObjectField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
               int&nbsp;field,
               <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;currentValue,
               <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark the field as modified by the user.</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="../../../javax/jdo/spi/StateManager.html#setShortField(javax.jdo.spi.PersistenceCapable, int, short, short)">setShortField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
              int&nbsp;field,
              short&nbsp;currentValue,
              short&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark the field as modified by the user.</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="../../../javax/jdo/spi/StateManager.html#setStringField(javax.jdo.spi.PersistenceCapable, int, java.lang.String, java.lang.String)">setStringField</A></B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
               int&nbsp;field,
               <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;currentValue,
               <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark the field as modified by the user.</TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ 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="replacingFlags(javax.jdo.spi.PersistenceCapable)"><!-- --></A><H3>
replacingFlags</H3>
<PRE>
byte <B>replacingFlags</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</PRE>
<DL>
<DD>The owning <code>StateManager</code> uses this method to supply the 
 value of the flags to the <code>PersistenceCapable</code> instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance
<DT><B>Returns:</B><DD>the value of <code>jdoFlags</code> to be stored in the 
 <code>PersistenceCapable</code> instance</DL>
</DD>
</DL>
<HR>

<A NAME="replacingStateManager(javax.jdo.spi.PersistenceCapable, javax.jdo.spi.StateManager)"><!-- --></A><H3>
replacingStateManager</H3>
<PRE>
<A HREF="../../../javax/jdo/spi/StateManager.html" title="interface in javax.jdo.spi">StateManager</A> <B>replacingStateManager</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                                   <A HREF="../../../javax/jdo/spi/StateManager.html" title="interface in javax.jdo.spi">StateManager</A>&nbsp;sm)</PRE>
<DL>
<DD>Replace the current value of <code>jdoStateManager</code>.
 <P>
 This method is called by the <code>PersistenceCapable</code> whenever
 <code>jdoReplaceStateManager</code> is called and there is already
 an owning <code>StateManager</code>.  This is a security precaution
 to ensure that the owning <code>StateManager</code> is the only
 source of any change to its reference in the 
 <code>PersistenceCapable</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>sm</CODE> - the proposed new value for the <code>jdoStateManager</code>
<DT><B>Returns:</B><DD>the new value for the <code>jdoStateManager</code></DL>
</DD>
</DL>
<HR>

<A NAME="isDirty(javax.jdo.spi.PersistenceCapable)"><!-- --></A><H3>
isDirty</H3>
<PRE>
boolean <B>isDirty</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</PRE>
<DL>
<DD>Tests whether this object is dirty.

 Instances that have been modified, deleted, or newly 
 made persistent in the current transaction return <code>true</code>.

<P>Transient nontransactional instances return <code>false</code>.
<P>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance
<DT><B>Returns:</B><DD><code>true</code> if this instance has been modified in the 
 current transaction.<DT><B>See Also:</B><DD><A HREF="../../../javax/jdo/spi/PersistenceCapable.html#jdoMakeDirty(java.lang.String)"><CODE>PersistenceCapable.jdoMakeDirty(String fieldName)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="isTransactional(javax.jdo.spi.PersistenceCapable)"><!-- --></A><H3>
isTransactional</H3>
<PRE>
boolean <B>isTransactional</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</PRE>
<DL>
<DD>Tests whether this object is transactional.

 Instances that respect transaction boundaries return <code>true</code>.  
 These instances include transient instances made transactional as a 
 result of being the target of a <code>makeTransactional</code> method 
 call; newly made persistent or deleted persistent instances; persistent 
 instances read in data store transactions; and persistent instances 
 modified in optimistic transactions.

<P>Transient nontransactional instances return <code>false</code>.
<P>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance
<DT><B>Returns:</B><DD><code>true</code> if this instance is transactional.</DL>
</DD>
</DL>
<HR>

<A NAME="isPersistent(javax.jdo.spi.PersistenceCapable)"><!-- --></A><H3>
isPersistent</H3>
<PRE>
boolean <B>isPersistent</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</PRE>
<DL>
<DD>Tests whether this object is persistent.

 Instances whose state is stored in the data store return 
 <code>true</code>.

<P>Transient instances return <code>false</code>.
<P>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance
<DT><B>Returns:</B><DD><code>true</code> if this instance is persistent.<DT><B>See Also:</B><DD><A HREF="../../../javax/jdo/PersistenceManager.html#makePersistent(T)"><CODE>PersistenceManager.makePersistent(Object pc)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="isNew(javax.jdo.spi.PersistenceCapable)"><!-- --></A><H3>
isNew</H3>
<PRE>
boolean <B>isNew</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</PRE>
<DL>
<DD>Tests whether this object has been newly made persistent.

 Instances that have been made persistent in the current transaction 
 return <code>true</code>.

 <P>Transient instances return <code>false</code>.
 <P>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance
<DT><B>Returns:</B><DD><code>true</code> if this instance was made persistent
 in the current transaction.<DT><B>See Also:</B><DD><A HREF="../../../javax/jdo/PersistenceManager.html#makePersistent(T)"><CODE>PersistenceManager.makePersistent(Object pc)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="isDeleted(javax.jdo.spi.PersistenceCapable)"><!-- --></A><H3>
isDeleted</H3>
<PRE>
boolean <B>isDeleted</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</PRE>
<DL>
<DD>Tests whether this object has been deleted.

 Instances that have been deleted in the current transaction return 
 <code>true</code>.

<P>Transient instances return <code>false</code>.
<P>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance
<DT><B>Returns:</B><DD><code>true</code> if this instance was deleted
 in the current transaction.<DT><B>See Also:</B><DD><A HREF="../../../javax/jdo/PersistenceManager.html#deletePersistent(java.lang.Object)"><CODE>PersistenceManager.deletePersistent(Object pc)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPersistenceManager(javax.jdo.spi.PersistenceCapable)"><!-- --></A><H3>
getPersistenceManager</H3>
<PRE>
<A HREF="../../../javax/jdo/PersistenceManager.html" title="interface in javax.jdo">PersistenceManager</A> <B>getPersistenceManager</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</PRE>
<DL>
<DD>Return the <code>PersistenceManager</code> that owns this instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance
<DT><B>Returns:</B><DD>the <code>PersistenceManager</code> that owns this instance</DL>
</DD>
</DL>
<HR>

<A NAME="makeDirty(javax.jdo.spi.PersistenceCapable, java.lang.String)"><!-- --></A><H3>
makeDirty</H3>
<PRE>
void <B>makeDirty</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
               <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fieldName)</PRE>
<DL>
<DD>Mark the associated <code>PersistenceCapable</code> field dirty.
 <P>The <code>StateManager</code> will make a copy of the field
 so it can be restored if needed later, and then mark
 the field as modified in the current transaction.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>fieldName</CODE> - the name of the field</DL>
</DD>
</DL>
<HR>

<A NAME="getObjectId(javax.jdo.spi.PersistenceCapable)"><!-- --></A><H3>
getObjectId</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getObjectId</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</PRE>
<DL>
<DD>Return the object representing the JDO identity 
 of the calling instance.  If the JDO identity is being changed in
 the current transaction, this method returns the identity as of
 the beginning of the transaction.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance
<DT><B>Returns:</B><DD>the object representing the JDO identity of the calling instance</DL>
</DD>
</DL>
<HR>

<A NAME="getTransactionalObjectId(javax.jdo.spi.PersistenceCapable)"><!-- --></A><H3>
getTransactionalObjectId</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getTransactionalObjectId</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</PRE>
<DL>
<DD>Return the object representing the JDO identity 
 of the calling instance.  If the JDO identity is being changed in
 the current transaction, this method returns the current identity as
 changed in the transaction.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance
<DT><B>Returns:</B><DD>the object representing the JDO identity of the calling instance</DL>
</DD>
</DL>
<HR>

<A NAME="getVersion(javax.jdo.spi.PersistenceCapable)"><!-- --></A><H3>
getVersion</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getVersion</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</PRE>
<DL>
<DD>Return the object representing the version 
 of the calling instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance
<DT><B>Returns:</B><DD>the object representing the version of the calling instance<DT><B>Since:</B></DT>
  <DD>2.0</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="isLoaded(javax.jdo.spi.PersistenceCapable, int)"><!-- --></A><H3>
isLoaded</H3>
<PRE>
boolean <B>isLoaded</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                 int&nbsp;field)</PRE>
<DL>
<DD>Return <code>true</code> if the field is cached in the calling
 instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number
<DT><B>Returns:</B><DD>whether the field is cached in the calling instance</DL>
</DD>
</DL>
<HR>

<A NAME="preSerialize(javax.jdo.spi.PersistenceCapable)"><!-- --></A><H3>
preSerialize</H3>
<PRE>
void <B>preSerialize</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc)</PRE>
<DL>
<DD>Guarantee that the serializable transactional and persistent fields
 are loaded into the instance.  This method is called by the generated
 <code>jdoPreSerialize</code> method prior to serialization of the
 instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance</DL>
</DD>
</DL>
<HR>

<A NAME="getBooleanField(javax.jdo.spi.PersistenceCapable, int, boolean)"><!-- --></A><H3>
getBooleanField</H3>
<PRE>
boolean <B>getBooleanField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                        int&nbsp;field,
                        boolean&nbsp;currentValue)</PRE>
<DL>
<DD>Return the value for the field.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="getCharField(javax.jdo.spi.PersistenceCapable, int, char)"><!-- --></A><H3>
getCharField</H3>
<PRE>
char <B>getCharField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  char&nbsp;currentValue)</PRE>
<DL>
<DD>Return the value for the field.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="getByteField(javax.jdo.spi.PersistenceCapable, int, byte)"><!-- --></A><H3>
getByteField</H3>
<PRE>
byte <B>getByteField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  byte&nbsp;currentValue)</PRE>
<DL>
<DD>Return the value for the field.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="getShortField(javax.jdo.spi.PersistenceCapable, int, short)"><!-- --></A><H3>
getShortField</H3>
<PRE>
short <B>getShortField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                    int&nbsp;field,
                    short&nbsp;currentValue)</PRE>
<DL>
<DD>Return the value for the field.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="getIntField(javax.jdo.spi.PersistenceCapable, int, int)"><!-- --></A><H3>
getIntField</H3>
<PRE>
int <B>getIntField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                int&nbsp;field,
                int&nbsp;currentValue)</PRE>
<DL>
<DD>Return the value for the field.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="getLongField(javax.jdo.spi.PersistenceCapable, int, long)"><!-- --></A><H3>
getLongField</H3>
<PRE>
long <B>getLongField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  long&nbsp;currentValue)</PRE>
<DL>
<DD>Return the value for the field.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="getFloatField(javax.jdo.spi.PersistenceCapable, int, float)"><!-- --></A><H3>
getFloatField</H3>
<PRE>
float <B>getFloatField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                    int&nbsp;field,
                    float&nbsp;currentValue)</PRE>
<DL>
<DD>Return the value for the field.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="getDoubleField(javax.jdo.spi.PersistenceCapable, int, double)"><!-- --></A><H3>
getDoubleField</H3>
<PRE>
double <B>getDoubleField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                      int&nbsp;field,
                      double&nbsp;currentValue)</PRE>
<DL>
<DD>Return the value for the field.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="getStringField(javax.jdo.spi.PersistenceCapable, int, java.lang.String)"><!-- --></A><H3>
getStringField</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getStringField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                      int&nbsp;field,
                      <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;currentValue)</PRE>
<DL>
<DD>Return the value for the field.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="getObjectField(javax.jdo.spi.PersistenceCapable, int, java.lang.Object)"><!-- --></A><H3>
getObjectField</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getObjectField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                      int&nbsp;field,
                      <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;currentValue)</PRE>
<DL>
<DD>Return the value for the field.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="setBooleanField(javax.jdo.spi.PersistenceCapable, int, boolean, boolean)"><!-- --></A><H3>
setBooleanField</H3>
<PRE>
void <B>setBooleanField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                     int&nbsp;field,
                     boolean&nbsp;currentValue,
                     boolean&nbsp;newValue)</PRE>
<DL>
<DD>Mark the field as modified by the user.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field<DD><CODE>newValue</CODE> - the proposed new value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="setCharField(javax.jdo.spi.PersistenceCapable, int, char, char)"><!-- --></A><H3>
setCharField</H3>
<PRE>
void <B>setCharField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  char&nbsp;currentValue,
                  char&nbsp;newValue)</PRE>
<DL>
<DD>Mark the field as modified by the user.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field<DD><CODE>newValue</CODE> - the proposed new value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="setByteField(javax.jdo.spi.PersistenceCapable, int, byte, byte)"><!-- --></A><H3>
setByteField</H3>
<PRE>
void <B>setByteField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  byte&nbsp;currentValue,
                  byte&nbsp;newValue)</PRE>
<DL>
<DD>Mark the field as modified by the user.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field<DD><CODE>newValue</CODE> - the proposed new value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="setShortField(javax.jdo.spi.PersistenceCapable, int, short, short)"><!-- --></A><H3>
setShortField</H3>
<PRE>
void <B>setShortField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                   int&nbsp;field,
                   short&nbsp;currentValue,
                   short&nbsp;newValue)</PRE>
<DL>
<DD>Mark the field as modified by the user.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field<DD><CODE>newValue</CODE> - the proposed new value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="setIntField(javax.jdo.spi.PersistenceCapable, int, int, int)"><!-- --></A><H3>
setIntField</H3>
<PRE>
void <B>setIntField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                 int&nbsp;field,
                 int&nbsp;currentValue,
                 int&nbsp;newValue)</PRE>
<DL>
<DD>Mark the field as modified by the user.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field<DD><CODE>newValue</CODE> - the proposed new value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="setLongField(javax.jdo.spi.PersistenceCapable, int, long, long)"><!-- --></A><H3>
setLongField</H3>
<PRE>
void <B>setLongField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                  int&nbsp;field,
                  long&nbsp;currentValue,
                  long&nbsp;newValue)</PRE>
<DL>
<DD>Mark the field as modified by the user.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field<DD><CODE>newValue</CODE> - the proposed new value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="setFloatField(javax.jdo.spi.PersistenceCapable, int, float, float)"><!-- --></A><H3>
setFloatField</H3>
<PRE>
void <B>setFloatField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                   int&nbsp;field,
                   float&nbsp;currentValue,
                   float&nbsp;newValue)</PRE>
<DL>
<DD>Mark the field as modified by the user.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field<DD><CODE>newValue</CODE> - the proposed new value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="setDoubleField(javax.jdo.spi.PersistenceCapable, int, double, double)"><!-- --></A><H3>
setDoubleField</H3>
<PRE>
void <B>setDoubleField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                    int&nbsp;field,
                    double&nbsp;currentValue,
                    double&nbsp;newValue)</PRE>
<DL>
<DD>Mark the field as modified by the user.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field<DD><CODE>newValue</CODE> - the proposed new value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="setStringField(javax.jdo.spi.PersistenceCapable, int, java.lang.String, java.lang.String)"><!-- --></A><H3>
setStringField</H3>
<PRE>
void <B>setStringField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                    int&nbsp;field,
                    <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;currentValue,
                    <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;newValue)</PRE>
<DL>
<DD>Mark the field as modified by the user.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field<DD><CODE>newValue</CODE> - the proposed new value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="setObjectField(javax.jdo.spi.PersistenceCapable, int, java.lang.Object, java.lang.Object)"><!-- --></A><H3>
setObjectField</H3>
<PRE>
void <B>setObjectField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                    int&nbsp;field,
                    <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;currentValue,
                    <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;newValue)</PRE>
<DL>
<DD>Mark the field as modified by the user.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field<DD><CODE>newValue</CODE> - the proposed new value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="providedBooleanField(javax.jdo.spi.PersistenceCapable, int, boolean)"><!-- --></A><H3>
providedBooleanField</H3>
<PRE>
void <B>providedBooleanField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                          int&nbsp;field,
                          boolean&nbsp;currentValue)</PRE>
<DL>
<DD>The value of the field requested to be provided to the 
 <code>StateManager</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="providedCharField(javax.jdo.spi.PersistenceCapable, int, char)"><!-- --></A><H3>
providedCharField</H3>
<PRE>
void <B>providedCharField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                       int&nbsp;field,
                       char&nbsp;currentValue)</PRE>
<DL>
<DD>The value of the field requested to be provided to the 
 <code>StateManager</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="providedByteField(javax.jdo.spi.PersistenceCapable, int, byte)"><!-- --></A><H3>
providedByteField</H3>
<PRE>
void <B>providedByteField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                       int&nbsp;field,
                       byte&nbsp;currentValue)</PRE>
<DL>
<DD>The value of the field requested to be provided to the 
 <code>StateManager</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="providedShortField(javax.jdo.spi.PersistenceCapable, int, short)"><!-- --></A><H3>
providedShortField</H3>
<PRE>
void <B>providedShortField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                        int&nbsp;field,
                        short&nbsp;currentValue)</PRE>
<DL>
<DD>The value of the field requested to be provided to the 
 <code>StateManager</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="providedIntField(javax.jdo.spi.PersistenceCapable, int, int)"><!-- --></A><H3>
providedIntField</H3>
<PRE>
void <B>providedIntField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                      int&nbsp;field,
                      int&nbsp;currentValue)</PRE>
<DL>
<DD>The value of the field requested to be provided to the 
 <code>StateManager</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="providedLongField(javax.jdo.spi.PersistenceCapable, int, long)"><!-- --></A><H3>
providedLongField</H3>
<PRE>
void <B>providedLongField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                       int&nbsp;field,
                       long&nbsp;currentValue)</PRE>
<DL>
<DD>The value of the field requested to be provided to the 
 <code>StateManager</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="providedFloatField(javax.jdo.spi.PersistenceCapable, int, float)"><!-- --></A><H3>
providedFloatField</H3>
<PRE>
void <B>providedFloatField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                        int&nbsp;field,
                        float&nbsp;currentValue)</PRE>
<DL>
<DD>The value of the field requested to be provided to the 
 <code>StateManager</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="providedDoubleField(javax.jdo.spi.PersistenceCapable, int, double)"><!-- --></A><H3>
providedDoubleField</H3>
<PRE>
void <B>providedDoubleField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                         int&nbsp;field,
                         double&nbsp;currentValue)</PRE>
<DL>
<DD>The value of the field requested to be provided to the 
 <code>StateManager</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="providedStringField(javax.jdo.spi.PersistenceCapable, int, java.lang.String)"><!-- --></A><H3>
providedStringField</H3>
<PRE>
void <B>providedStringField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                         int&nbsp;field,
                         <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;currentValue)</PRE>
<DL>
<DD>The value of the field requested to be provided to the 
 <code>StateManager</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="providedObjectField(javax.jdo.spi.PersistenceCapable, int, java.lang.Object)"><!-- --></A><H3>
providedObjectField</H3>
<PRE>
void <B>providedObjectField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                         int&nbsp;field,
                         <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;currentValue)</PRE>
<DL>
<DD>The value of the field requested to be provided to the 
 <code>StateManager</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number<DD><CODE>currentValue</CODE> - the current value of the field</DL>
</DD>
</DL>
<HR>

<A NAME="replacingBooleanField(javax.jdo.spi.PersistenceCapable, int)"><!-- --></A><H3>
replacingBooleanField</H3>
<PRE>
boolean <B>replacingBooleanField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                              int&nbsp;field)</PRE>
<DL>
<DD>The replacement value of the field in the calling instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="replacingCharField(javax.jdo.spi.PersistenceCapable, int)"><!-- --></A><H3>
replacingCharField</H3>
<PRE>
char <B>replacingCharField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                        int&nbsp;field)</PRE>
<DL>
<DD>The replacement value of the field in the calling instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="replacingByteField(javax.jdo.spi.PersistenceCapable, int)"><!-- --></A><H3>
replacingByteField</H3>
<PRE>
byte <B>replacingByteField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                        int&nbsp;field)</PRE>
<DL>
<DD>The replacement value of the field in the calling instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="replacingShortField(javax.jdo.spi.PersistenceCapable, int)"><!-- --></A><H3>
replacingShortField</H3>
<PRE>
short <B>replacingShortField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                          int&nbsp;field)</PRE>
<DL>
<DD>The replacement value of the field in the calling instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="replacingIntField(javax.jdo.spi.PersistenceCapable, int)"><!-- --></A><H3>
replacingIntField</H3>
<PRE>
int <B>replacingIntField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                      int&nbsp;field)</PRE>
<DL>
<DD>The replacement value of the field in the calling instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="replacingLongField(javax.jdo.spi.PersistenceCapable, int)"><!-- --></A><H3>
replacingLongField</H3>
<PRE>
long <B>replacingLongField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                        int&nbsp;field)</PRE>
<DL>
<DD>The replacement value of the field in the calling instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="replacingFloatField(javax.jdo.spi.PersistenceCapable, int)"><!-- --></A><H3>
replacingFloatField</H3>
<PRE>
float <B>replacingFloatField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                          int&nbsp;field)</PRE>
<DL>
<DD>The replacement value of the field in the calling instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="replacingDoubleField(javax.jdo.spi.PersistenceCapable, int)"><!-- --></A><H3>
replacingDoubleField</H3>
<PRE>
double <B>replacingDoubleField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                            int&nbsp;field)</PRE>
<DL>
<DD>The replacement value of the field in the calling instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="replacingStringField(javax.jdo.spi.PersistenceCapable, int)"><!-- --></A><H3>
replacingStringField</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>replacingStringField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                            int&nbsp;field)</PRE>
<DL>
<DD>The replacement value of the field in the calling instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="replacingObjectField(javax.jdo.spi.PersistenceCapable, int)"><!-- --></A><H3>
replacingObjectField</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>replacingObjectField</B>(<A HREF="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</A>&nbsp;pc,
                            int&nbsp;field)</PRE>
<DL>
<DD>The replacement value of the field in the calling instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>PersistenceCapable</code> instance<DD><CODE>field</CODE> - the field number
<DT><B>Returns:</B><DD>the new value for the field</DL>
</DD>
</DL>
<HR>

<A NAME="replacingDetachedState(javax.jdo.spi.Detachable, java.lang.Object[])"><!-- --></A><H3>
replacingDetachedState</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[] <B>replacingDetachedState</B>(<A HREF="../../../javax/jdo/spi/Detachable.html" title="interface in javax.jdo.spi">Detachable</A>&nbsp;pc,
                                <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;state)</PRE>
<DL>
<DD>The replacement value of the detached state in the calling instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the calling <code>Detachable</code> instance<DD><CODE>state</CODE> - the current value of the detached state
<DT><B>Returns:</B><DD>the replacement value for the detached state<DT><B>Since:</B></DT>
  <DD>2.0</DD>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/StateManager.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="../../../javax/jdo/spi/StateInterrogation.html" title="interface in javax.jdo.spi"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html?javax/jdo/spi/StateManager.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="StateManager.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

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