blob: 4b65caa5df5a20507eaead5ce7f964e946881f8a [file] [log] [blame]
<!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_05-ea) on Fri Oct 10 11:21:07 PDT 2008 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
StateInterrogation (JDO2 API 2.2)
</TITLE>
<META NAME="date" CONTENT="2008-10-10">
<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="StateInterrogation (JDO2 API 2.2)";
}
}
</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/StateInterrogation.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/RegisterClassListener.html" title="interface in javax.jdo.spi"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/jdo/spi/StateManager.html" title="interface in javax.jdo.spi"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?javax/jdo/spi/StateInterrogation.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="StateInterrogation.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 StateInterrogation</H2>
<HR>
<DL>
<DT><PRE>public interface <B>StateInterrogation</B></DL>
</PRE>
<P>
This interface is implemented by a non-binary-compatible JDO implementation
to provide state interrogation for non-enhanced persistent classes.
<P>A call to JDOHelper to get the status of an instance is handled
internally if the parameter instance implements PersistenceCapable.
For non-binary-compatible implementations, there is no requirement
that persistent instances implement PersistenceCapable. Therefore,
if the parameter does not implement PersistenceCapable, JDOHelper
delegates to all registered instances of StateInterrogation until
an instance can handle the request.
<P>For JDOHelper isXXX methods, which return boolean, the
corresponding method in StateInterrogation returns Boolean. If the
return value is <code>null</code> then the StateInterrogation does
not recognize the parameter as being handled by it. A non-null return
value indicates that the implementation has determined the answer.
<P>For JDOHelper getXXX methods, which return an Object, each
registered StateInterrogation is given the parameter until one of
them returns a non-null value, which is passed to the caller.
<P>For JDOHelper makeDirty, each
registered StateInterrogation is given the parameter until one of
them returns true, indicating that it has handled the call.
An instance that implements this interface must be registered with the
<A HREF="../../../javax/jdo/spi/JDOImplHelper.html" title="class in javax.jdo.spi"><CODE>JDOImplHelper</CODE></A>.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>2.0</DD>
<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;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateInterrogation.html#getObjectId(java.lang.Object)">getObjectId</A></B>(java.lang.Object&nbsp;pc)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a copy of the JDO identity associated with the parameter
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/StateInterrogation.html#getPersistenceManager(java.lang.Object)">getPersistenceManager</A></B>(java.lang.Object&nbsp;pc)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the associated <code>PersistenceManager</code> if there is one.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateInterrogation.html#getTransactionalObjectId(java.lang.Object)">getTransactionalObjectId</A></B>(java.lang.Object&nbsp;pc)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a copy of the JDO identity associated with the parameter
instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateInterrogation.html#getVersion(java.lang.Object)">getVersion</A></B>(java.lang.Object&nbsp;pc)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the version of the parameter instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateInterrogation.html#isDeleted(java.lang.Object)">isDeleted</A></B>(java.lang.Object&nbsp;pc)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether the parameter instance has been deleted.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateInterrogation.html#isDetached(java.lang.Object)">isDetached</A></B>(java.lang.Object&nbsp;pc)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether the parameter instance is detached.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateInterrogation.html#isDirty(java.lang.Object)">isDirty</A></B>(java.lang.Object&nbsp;pc)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether the parameter instance is dirty.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateInterrogation.html#isNew(java.lang.Object)">isNew</A></B>(java.lang.Object&nbsp;pc)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether the parameter instance has been newly made persistent.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateInterrogation.html#isPersistent(java.lang.Object)">isPersistent</A></B>(java.lang.Object&nbsp;pc)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether the parameter instance is persistent.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/spi/StateInterrogation.html#isTransactional(java.lang.Object)">isTransactional</A></B>(java.lang.Object&nbsp;pc)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether the parameter 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="../../../javax/jdo/spi/StateInterrogation.html#makeDirty(java.lang.Object, java.lang.String)">makeDirty</A></B>(java.lang.Object&nbsp;pc,
java.lang.String&nbsp;fieldName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Explicitly mark the parameter instance and field dirty.</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="isPersistent(java.lang.Object)"><!-- --></A><H3>
isPersistent</H3>
<PRE>
java.lang.Boolean <B>isPersistent</B>(java.lang.Object&nbsp;pc)</PRE>
<DL>
<DD>Tests whether the parameter instance is persistent.
Instances that represent persistent objects in the data store
return <code>Boolean.TRUE</code>.
<P>Instances known by the implementation to be non-persistent
return <code>Boolean.FALSE</code>.
<P>Instances not recognized by the implementation return
<code>null</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the instance.
<DT><B>Returns:</B><DD><code>Boolean.TRUE</code> if the parameter instance is persistent.<DT><B>See Also:</B><DD><A HREF="../../../javax/jdo/PersistenceManager.html#makePersistent(T)"><CODE>PersistenceManager.makePersistent(Object pc)</CODE></A>,
<A HREF="../../../javax/jdo/spi/PersistenceCapable.html#jdoIsPersistent()"><CODE>PersistenceCapable.jdoIsPersistent()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="isTransactional(java.lang.Object)"><!-- --></A><H3>
isTransactional</H3>
<PRE>
java.lang.Boolean <B>isTransactional</B>(java.lang.Object&nbsp;pc)</PRE>
<DL>
<DD>Tests whether the parameter instance is transactional.
Instances whose state is associated with the current transaction
return <code>Boolean.TRUE</code>.
<P>Instances known by the implementation to be non-transactional
return <code>Boolean.FALSE</code>.
<P>Instances not recognized by the implementation return
<code>null</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the instance.
<DT><B>Returns:</B><DD><code>Boolean.TRUE</code> if the parameter instance is transactional.<DT><B>See Also:</B><DD><A HREF="../../../javax/jdo/spi/PersistenceCapable.html#jdoIsTransactional()"><CODE>PersistenceCapable.jdoIsTransactional()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="isDirty(java.lang.Object)"><!-- --></A><H3>
isDirty</H3>
<PRE>
java.lang.Boolean <B>isDirty</B>(java.lang.Object&nbsp;pc)</PRE>
<DL>
<DD>Tests whether the parameter instance is dirty.
Instances that have been modified, deleted, newly
made persistent in the current transaction,
or modified while detached return <code>Boolean.TRUE</code>.
<P>Instances known by the implementation to be non-dirty
return <code>Boolean.FALSE</code>.
<P>Instances not recognized by the implementation return
<code>null</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the instance.
<DT><B>Returns:</B><DD><code>Boolean.TRUE</code> if the parameter instance has been modified
in the current transaction, or while detached.<DT><B>See Also:</B><DD><A HREF="../../../javax/jdo/spi/StateManager.html#makeDirty(javax.jdo.spi.PersistenceCapable, java.lang.String)"><CODE>StateManager.makeDirty(PersistenceCapable pc, String fieldName)</CODE></A>,
<A HREF="../../../javax/jdo/spi/PersistenceCapable.html#jdoIsDirty()"><CODE>PersistenceCapable.jdoIsDirty()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="isNew(java.lang.Object)"><!-- --></A><H3>
isNew</H3>
<PRE>
java.lang.Boolean <B>isNew</B>(java.lang.Object&nbsp;pc)</PRE>
<DL>
<DD>Tests whether the parameter instance has been newly made persistent.
Instances that have been made persistent in the current transaction
return <code>Boolean.TRUE</code>.
<P>Instances known by the implementation to be non-new
return <code>Boolean.FALSE</code>.
<P>Instances not recognized by the implementation return
<code>null</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the instance.
<DT><B>Returns:</B><DD><code>Boolean.TRUE</code> if the parameter 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>,
<A HREF="../../../javax/jdo/spi/PersistenceCapable.html#jdoIsNew()"><CODE>PersistenceCapable.jdoIsNew()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="isDeleted(java.lang.Object)"><!-- --></A><H3>
isDeleted</H3>
<PRE>
java.lang.Boolean <B>isDeleted</B>(java.lang.Object&nbsp;pc)</PRE>
<DL>
<DD>Tests whether the parameter instance has been deleted.
Instances that have been deleted in the current transaction
return <code>Boolean.TRUE</code>.
<P>Instances known by the implementation to be non-deleted
return <code>Boolean.FALSE</code>.
<P>Instances not recognized by the implementation return
<code>null</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the instance.
<DT><B>Returns:</B><DD><code>Boolean.TRUE</code> if the parameter 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>,
<A HREF="../../../javax/jdo/spi/PersistenceCapable.html#jdoIsDeleted()"><CODE>PersistenceCapable.jdoIsDeleted()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="isDetached(java.lang.Object)"><!-- --></A><H3>
isDetached</H3>
<PRE>
java.lang.Boolean <B>isDetached</B>(java.lang.Object&nbsp;pc)</PRE>
<DL>
<DD>Tests whether the parameter instance is detached.
Instances that are detached return <code>Boolean.TRUE</code>.
<P>Instances known by the implementation to be non-detached
return <code>Boolean.FALSE</code>.
<P>Instances not recognized by the implementation return
<code>null</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the instance.
<DT><B>Returns:</B><DD><code>Boolean.TRUE</code> if the parameter instance is detached.<DT><B>See Also:</B><DD><A HREF="../../../javax/jdo/PersistenceManager.html#detachCopy(T)"><CODE>PersistenceManager.detachCopy(Object pc)</CODE></A>,
<A HREF="../../../javax/jdo/spi/PersistenceCapable.html#jdoIsDeleted()"><CODE>PersistenceCapable.jdoIsDeleted()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getPersistenceManager(java.lang.Object)"><!-- --></A><H3>
getPersistenceManager</H3>
<PRE>
<A HREF="../../../javax/jdo/PersistenceManager.html" title="interface in javax.jdo">PersistenceManager</A> <B>getPersistenceManager</B>(java.lang.Object&nbsp;pc)</PRE>
<DL>
<DD>Return the associated <code>PersistenceManager</code> if there is one.
Transactional and persistent instances return the associated
<code>PersistenceManager</code>.
<P>Transient non-transactional instances return <code>null</code>.
<P>Instances unknown by the implementation return <code>null</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the instance.
<DT><B>Returns:</B><DD>the <code>PersistenceManager</code> associated with the
parameter instance.<DT><B>See Also:</B><DD><A HREF="../../../javax/jdo/spi/PersistenceCapable.html#jdoGetPersistenceManager()"><CODE>PersistenceCapable.jdoGetPersistenceManager()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getObjectId(java.lang.Object)"><!-- --></A><H3>
getObjectId</H3>
<PRE>
java.lang.Object <B>getObjectId</B>(java.lang.Object&nbsp;pc)</PRE>
<DL>
<DD>Return a copy of the JDO identity associated with the parameter
instance.
<P>Persistent instances of <code>PersistenceCapable</code> classes
have a JDO identity
managed by the <code>PersistenceManager</code>. This method returns
a copy of the
ObjectId that represents the JDO identity.
<P>Instances unknown by the implementation return <code>null</code>.
<P>The ObjectId may be serialized
and later restored, and used with a <code>PersistenceManager</code>
from the same JDO
implementation to locate a persistent instance with the same data store
identity.
<P>If the JDO identity is managed by the application, then the ObjectId
may be used with a <code>PersistenceManager</code> from any JDO
implementation that supports
the <code>PersistenceCapable</code> class.
<P>If the JDO identity is not managed by the application or the data
store, then the ObjectId returned is only valid within the current
transaction.
<P>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the instance.
<DT><B>Returns:</B><DD>a copy of the ObjectId of the parameter instance as of the
beginning of the transaction.<DT><B>See Also:</B><DD><A HREF="../../../javax/jdo/PersistenceManager.html#getObjectId(java.lang.Object)"><CODE>PersistenceManager.getObjectId(Object pc)</CODE></A>,
<A HREF="../../../javax/jdo/spi/PersistenceCapable.html#jdoGetObjectId()"><CODE>PersistenceCapable.jdoGetObjectId()</CODE></A>,
<A HREF="../../../javax/jdo/PersistenceManager.html#getObjectById(java.lang.Object, boolean)"><CODE>PersistenceManager.getObjectById(Object oid, boolean validate)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getTransactionalObjectId(java.lang.Object)"><!-- --></A><H3>
getTransactionalObjectId</H3>
<PRE>
java.lang.Object <B>getTransactionalObjectId</B>(java.lang.Object&nbsp;pc)</PRE>
<DL>
<DD>Return a copy of the JDO identity associated with the parameter
instance.
<P>Instances unknown by the implementation return <code>null</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the instance.
<DT><B>Returns:</B><DD>a copy of the ObjectId of the parameter instance as modified
in this transaction.<DT><B>See Also:</B><DD><A HREF="../../../javax/jdo/spi/PersistenceCapable.html#jdoGetTransactionalObjectId()"><CODE>PersistenceCapable.jdoGetTransactionalObjectId()</CODE></A>,
<A HREF="../../../javax/jdo/PersistenceManager.html#getObjectById(java.lang.Object, boolean)"><CODE>PersistenceManager.getObjectById(Object oid, boolean validate)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getVersion(java.lang.Object)"><!-- --></A><H3>
getVersion</H3>
<PRE>
java.lang.Object <B>getVersion</B>(java.lang.Object&nbsp;pc)</PRE>
<DL>
<DD>Return the version of the parameter instance.
<P>Instances unknown by the implementation return <code>null</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the instance.
<DT><B>Returns:</B><DD>a copy of the ObjectId of the parameter instance as modified
in this transaction.<DT><B>See Also:</B><DD><A HREF="../../../javax/jdo/spi/PersistenceCapable.html#jdoGetVersion()"><CODE>PersistenceCapable.jdoGetVersion()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="makeDirty(java.lang.Object, java.lang.String)"><!-- --></A><H3>
makeDirty</H3>
<PRE>
boolean <B>makeDirty</B>(java.lang.Object&nbsp;pc,
java.lang.String&nbsp;fieldName)</PRE>
<DL>
<DD>Explicitly mark the parameter instance and field dirty.
Normally, <code>PersistenceCapable</code> classes are able to detect
changes made
to their fields. However, if a reference to an array is given to a
method outside the class, and the array is modified, then the
persistent instance is not aware of the change. This API allows the
application to notify the instance that a change was made to a field.
<P>Instances unknown by the implementation are unaffected.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the instance.<DD><CODE>fieldName</CODE> - the name of the field to be marked dirty.<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>
<!-- ========= 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/StateInterrogation.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/RegisterClassListener.html" title="interface in javax.jdo.spi"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/jdo/spi/StateManager.html" title="interface in javax.jdo.spi"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?javax/jdo/spi/StateInterrogation.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="StateInterrogation.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 &copy; 2005-2008 Apache Software Foundation. All Rights Reserved.
</BODY>
</HTML>