<!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_01) on Tue Mar 18 12:42:25 PDT 2008 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
ShortIdentity (JDO2 API 2.1)
</TITLE>

<META NAME="date" CONTENT="2008-03-18">

<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="ShortIdentity (JDO2 API 2.1)";
    }
}
</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/ShortIdentity.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/identity/ObjectIdentity.html" title="class in javax.jdo.identity"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html" title="class in javax.jdo.identity"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html?javax/jdo/identity/ShortIdentity.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ShortIdentity.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


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

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
javax.jdo.identity</FONT>
<BR>
Class ShortIdentity</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html" title="class in javax.jdo.identity">javax.jdo.identity.SingleFieldIdentity</A>
      <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>javax.jdo.identity.ShortIdentity</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Externalizable, java.io.Serializable</DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>ShortIdentity</B><DT>extends <A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html" title="class in javax.jdo.identity">SingleFieldIdentity</A></DL>
</PRE>

<P>
This class is for identity with a single short field.
<P>

<P>
<DL>
<DT><B>Version:</B></DT>
  <DD>2.0</DD>
<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#javax.jdo.identity.ShortIdentity">Serialized Form</A></DL>
<HR>

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

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_javax.jdo.identity.SingleFieldIdentity"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class javax.jdo.identity.<A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html" title="class in javax.jdo.identity">SingleFieldIdentity</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#hashCode">hashCode</A>, <A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#keyAsObject">keyAsObject</A>, <A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#msg">msg</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/jdo/identity/ShortIdentity.html#ShortIdentity()">ShortIdentity</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor only for Externalizable.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/jdo/identity/ShortIdentity.html#ShortIdentity(java.lang.Class, short)">ShortIdentity</A></B>(java.lang.Class&nbsp;pcClass,
              short&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor with class and key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/jdo/identity/ShortIdentity.html#ShortIdentity(java.lang.Class, java.lang.Short)">ShortIdentity</A></B>(java.lang.Class&nbsp;pcClass,
              java.lang.Short&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor with class and key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/jdo/identity/ShortIdentity.html#ShortIdentity(java.lang.Class, java.lang.String)">ShortIdentity</A></B>(java.lang.Class&nbsp;pcClass,
              java.lang.String&nbsp;str)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor with class and key.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/identity/ShortIdentity.html#createKeyAsObject()">createKeyAsObject</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create the key as an Object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/identity/ShortIdentity.html#equals(java.lang.Object)">equals</A></B>(java.lang.Object&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine if the other object represents the same object id.</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/identity/ShortIdentity.html#getKey()">getKey</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the key.</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/identity/ShortIdentity.html#readExternal(java.io.ObjectInput)">readExternal</A></B>(java.io.ObjectInput&nbsp;in)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read this object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/jdo/identity/ShortIdentity.html#toString()">toString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the String form of the key.</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/identity/ShortIdentity.html#writeExternal(java.io.ObjectOutput)">writeExternal</A></B>(java.io.ObjectOutput&nbsp;out)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write this object.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_javax.jdo.identity.SingleFieldIdentity"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class javax.jdo.identity.<A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html" title="class in javax.jdo.identity">SingleFieldIdentity</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#assertKeyNotNull(java.lang.Object)">assertKeyNotNull</A>, <A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#getKeyAsObject()">getKeyAsObject</A>, <A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#getTargetClass()">getTargetClass</A>, <A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#getTargetClassName()">getTargetClassName</A>, <A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#hashClassName()">hashClassName</A>, <A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#hashCode()">hashCode</A>, <A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#setKeyAsObject(java.lang.Object)">setKeyAsObject</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

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

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

<A NAME="ShortIdentity(java.lang.Class, short)"><!-- --></A><H3>
ShortIdentity</H3>
<PRE>
public <B>ShortIdentity</B>(java.lang.Class&nbsp;pcClass,
                     short&nbsp;key)</PRE>
<DL>
<DD>Constructor with class and key.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>pcClass</CODE> - the class<DD><CODE>key</CODE> - the key</DL>
</DL>
<HR>

<A NAME="ShortIdentity(java.lang.Class, java.lang.Short)"><!-- --></A><H3>
ShortIdentity</H3>
<PRE>
public <B>ShortIdentity</B>(java.lang.Class&nbsp;pcClass,
                     java.lang.Short&nbsp;key)</PRE>
<DL>
<DD>Constructor with class and key.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>pcClass</CODE> - the class<DD><CODE>key</CODE> - the key</DL>
</DL>
<HR>

<A NAME="ShortIdentity(java.lang.Class, java.lang.String)"><!-- --></A><H3>
ShortIdentity</H3>
<PRE>
public <B>ShortIdentity</B>(java.lang.Class&nbsp;pcClass,
                     java.lang.String&nbsp;str)</PRE>
<DL>
<DD>Constructor with class and key.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>pcClass</CODE> - the class<DD><CODE>str</CODE> - the key</DL>
</DL>
<HR>

<A NAME="ShortIdentity()"><!-- --></A><H3>
ShortIdentity</H3>
<PRE>
public <B>ShortIdentity</B>()</PRE>
<DL>
<DD>Constructor only for Externalizable.
<P>
</DL>

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

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

<A NAME="getKey()"><!-- --></A><H3>
getKey</H3>
<PRE>
public short <B>getKey</B>()</PRE>
<DL>
<DD>Return the key.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>the key</DL>
</DD>
</DL>
<HR>

<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public java.lang.String <B>toString</B>()</PRE>
<DL>
<DD>Return the String form of the key.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the String form of the key</DL>
</DD>
</DL>
<HR>

<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
equals</H3>
<PRE>
public boolean <B>equals</B>(java.lang.Object&nbsp;obj)</PRE>
<DL>
<DD>Determine if the other object represents the same object id.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#equals(java.lang.Object)">equals</A></CODE> in class <CODE><A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html" title="class in javax.jdo.identity">SingleFieldIdentity</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>obj</CODE> - the other object
<DT><B>Returns:</B><DD>true if both objects represent the same object id</DL>
</DD>
</DL>
<HR>

<A NAME="createKeyAsObject()"><!-- --></A><H3>
createKeyAsObject</H3>
<PRE>
protected java.lang.Object <B>createKeyAsObject</B>()</PRE>
<DL>
<DD>Create the key as an Object.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#createKeyAsObject()">createKeyAsObject</A></CODE> in class <CODE><A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html" title="class in javax.jdo.identity">SingleFieldIdentity</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the key as an Object<DT><B>Since:</B></DT>
  <DD>2.0</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="writeExternal(java.io.ObjectOutput)"><!-- --></A><H3>
writeExternal</H3>
<PRE>
public void <B>writeExternal</B>(java.io.ObjectOutput&nbsp;out)
                   throws java.io.IOException</PRE>
<DL>
<DD>Write this object. Write the superclass first.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>writeExternal</CODE> in interface <CODE>java.io.Externalizable</CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#writeExternal(java.io.ObjectOutput)">writeExternal</A></CODE> in class <CODE><A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html" title="class in javax.jdo.identity">SingleFieldIdentity</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>out</CODE> - the output
<DT><B>Throws:</B>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="readExternal(java.io.ObjectInput)"><!-- --></A><H3>
readExternal</H3>
<PRE>
public void <B>readExternal</B>(java.io.ObjectInput&nbsp;in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException</PRE>
<DL>
<DD>Read this object. Read the superclass first.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>readExternal</CODE> in interface <CODE>java.io.Externalizable</CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html#readExternal(java.io.ObjectInput)">readExternal</A></CODE> in class <CODE><A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html" title="class in javax.jdo.identity">SingleFieldIdentity</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>in</CODE> - the input
<DT><B>Throws:</B>
<DD><CODE>java.io.IOException</CODE>
<DD><CODE>java.lang.ClassNotFoundException</CODE></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/ShortIdentity.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/identity/ObjectIdentity.html" title="class in javax.jdo.identity"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/jdo/identity/SingleFieldIdentity.html" title="class in javax.jdo.identity"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html?javax/jdo/identity/ShortIdentity.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ShortIdentity.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


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

<HR>
Copyright &copy; 2005-2008 Apache Software Foundation. All Rights Reserved.
</BODY>
</HTML>
