<!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_18) on Thu May 12 21:55:02 GMT 2011 --> <TITLE> EntityModel </TITLE> <META NAME="date" CONTENT="2011-05-12"> <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="EntityModel"; } } </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> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../com/sleepycat/persist/model/EntityMetadata.html" title="class in com.sleepycat.persist.model"><B>PREV CLASS</B></A> <A HREF="../../../../com/sleepycat/persist/model/FieldMetadata.html" title="class in com.sleepycat.persist.model"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?com/sleepycat/persist/model/EntityModel.html" target="_top"><B>FRAMES</B></A> <A HREF="EntityModel.html" target="_top"><B>NO FRAMES</B></A> <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: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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"> com.sleepycat.persist.model</FONT> <BR> Class EntityModel</H2> <PRE> java.lang.Object <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.sleepycat.persist.model.EntityModel</B> </PRE> <DL> <DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../com/sleepycat/persist/model/AnnotationModel.html" title="class in com.sleepycat.persist.model">AnnotationModel</A></DD> </DL> <HR> <DL> <DT><PRE>public abstract class <B>EntityModel</B><DT>extends java.lang.Object</DL> </PRE> <P> The base class for classes that provide entity model metadata. An <A HREF="../../../../com/sleepycat/persist/model/EntityModel.html" title="class in com.sleepycat.persist.model"><CODE>EntityModel</CODE></A> defines entity classes, primary keys, secondary keys, and relationships between entities. For each entity class that is part of the model, a single <A HREF="../../../../com/sleepycat/persist/PrimaryIndex.html" title="class in com.sleepycat.persist"><CODE>PrimaryIndex</CODE></A> object and zero or more <A HREF="../../../../com/sleepycat/persist/SecondaryIndex.html" title="class in com.sleepycat.persist"><CODE>SecondaryIndex</CODE></A> objects may be accessed via an <A HREF="../../../../com/sleepycat/persist/EntityStore.html" title="class in com.sleepycat.persist"><CODE>EntityStore</CODE></A>. <p>The built-in entity model, the <A HREF="../../../../com/sleepycat/persist/model/AnnotationModel.html" title="class in com.sleepycat.persist.model"><CODE>AnnotationModel</CODE></A>, is based on annotations that are added to entity classes and their key fields. Annotations are used in the examples in this package, and it is expected that annotations will normally be used; most readers should therefore skip to the <A HREF="../../../../com/sleepycat/persist/model/AnnotationModel.html" title="class in com.sleepycat.persist.model"><CODE>AnnotationModel</CODE></A> class. However, a custom entity model class may define its own metadata. This can be used to define entity classes and keys using mechanisms other than annotations.</p> <p>A concrete entity model class should extend this class and implement the <A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#getClassMetadata(java.lang.String)"><CODE>getClassMetadata(java.lang.String)</CODE></A>, <A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#getEntityMetadata(java.lang.String)"><CODE>getEntityMetadata(java.lang.String)</CODE></A> and <A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#getKnownClasses()"><CODE>getKnownClasses()</CODE></A> methods.</p> <p>This is an abstract class rather than an interface to allow adding capabilities to the model at a future date without causing incompatibilities. For example, a method may be added in the future for returning new information about the model and subclasses may override this method to return the new information. Any new methods will have default implementations that return default values, and the use of the new information will be optional.</p> <P> <P> <HR> <P> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <A NAME="constructor_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Constructor Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>protected </CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#EntityModel()">EntityModel</A></B>()</CODE> <BR> The default constructor for use by subclasses.</TD> </TR> </TABLE> <!-- ========== 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>static java.lang.Class</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#classForName(java.lang.String)">classForName</A></B>(java.lang.String className)</CODE> <BR> Calls Class.forName with the current thread context class loader.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.lang.Object</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#convertRawObject(com.sleepycat.persist.raw.RawObject)">convertRawObject</A></B>(<A HREF="../../../../com/sleepycat/persist/raw/RawObject.html" title="class in com.sleepycat.persist.raw">RawObject</A> raw)</CODE> <BR> Converts a given raw object to a live object according to the current class definitions.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.util.List<<A HREF="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</A>></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#getAllRawTypes()">getAllRawTypes</A></B>()</CODE> <BR> Returns all versions of all known types.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.util.List<<A HREF="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</A>></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#getAllRawTypeVersions(java.lang.String)">getAllRawTypeVersions</A></B>(java.lang.String className)</CODE> <BR> Returns all known versions of type information for a given class name, or null if no persistent version of the class is known.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>abstract <A HREF="../../../../com/sleepycat/persist/model/ClassMetadata.html" title="class in com.sleepycat.persist.model">ClassMetadata</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#getClassMetadata(java.lang.String)">getClassMetadata</A></B>(java.lang.String className)</CODE> <BR> Returns the metadata for a given persistent class name, including proxy classes and entity classes.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>abstract <A HREF="../../../../com/sleepycat/persist/model/EntityMetadata.html" title="class in com.sleepycat.persist.model">EntityMetadata</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#getEntityMetadata(java.lang.String)">getEntityMetadata</A></B>(java.lang.String className)</CODE> <BR> Returns the metadata for a given entity class name.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>abstract java.util.Set<java.lang.String></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#getKnownClasses()">getKnownClasses</A></B>()</CODE> <BR> Returns the names of all known persistent classes.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#getRawType(java.lang.String)">getRawType</A></B>(java.lang.String className)</CODE> <BR> Returns the type information for the current version of a given class, or null if the class is not currently persistent.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#getRawTypeVersion(java.lang.String, int)">getRawTypeVersion</A></B>(java.lang.String className, int version)</CODE> <BR> Returns the type information for a given version of a given class, or null if the given version of the class is unknown.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#isOpen()">isOpen</A></B>()</CODE> <BR> Returns whether the model is associated with an open store.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#registerClass(java.lang.Class)">registerClass</A></B>(java.lang.Class persistentClass)</CODE> <BR> Registers a persistent class, most importantly, a <A HREF="../../../../com/sleepycat/persist/model/PersistentProxy.html" title="interface in com.sleepycat.persist.model"><CODE>PersistentProxy</CODE></A> class or entity subclass.</TD> </TR> </TABLE> <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, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> </TR> </TABLE> <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="EntityModel()"><!-- --></A><H3> EntityModel</H3> <PRE> protected <B>EntityModel</B>()</PRE> <DL> <DD>The default constructor for use by subclasses. <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="isOpen()"><!-- --></A><H3> isOpen</H3> <PRE> public final boolean <B>isOpen</B>()</PRE> <DL> <DD>Returns whether the model is associated with an open store. <p>The <A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#registerClass(java.lang.Class)"><CODE>registerClass(java.lang.Class)</CODE></A> method may only be called when the model is not yet open. Certain other methods may only be called when the model is open:</p> <ul> <li><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#convertRawObject(com.sleepycat.persist.raw.RawObject)"><CODE>convertRawObject(com.sleepycat.persist.raw.RawObject)</CODE></A></li> <li><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#getAllRawTypeVersions(java.lang.String)"><CODE>getAllRawTypeVersions(java.lang.String)</CODE></A></li> <li><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#getRawType(java.lang.String)"><CODE>getRawType(java.lang.String)</CODE></A></li> <li><A HREF="../../../../com/sleepycat/persist/model/EntityModel.html#getRawTypeVersion(java.lang.String, int)"><CODE>getRawTypeVersion(java.lang.String, int)</CODE></A></li> </ul> <P> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="registerClass(java.lang.Class)"><!-- --></A><H3> registerClass</H3> <PRE> public final void <B>registerClass</B>(java.lang.Class persistentClass)</PRE> <DL> <DD>Registers a persistent class, most importantly, a <A HREF="../../../../com/sleepycat/persist/model/PersistentProxy.html" title="interface in com.sleepycat.persist.model"><CODE>PersistentProxy</CODE></A> class or entity subclass. <p>Any persistent class may be registered in advance of using it, to avoid the overhead of updating the catalog database when an instance of the class is first stored. This method <em>must</em> be called in two cases:</p> <ol> <li>to register all <A HREF="../../../../com/sleepycat/persist/model/PersistentProxy.html" title="interface in com.sleepycat.persist.model"><CODE>PersistentProxy</CODE></A> classes, and</li> <li>to register an entity subclass defining a secondary key, if <A HREF="../../../../com/sleepycat/persist/EntityStore.html#getSubclassIndex(com.sleepycat.persist.PrimaryIndex, java.lang.Class, java.lang.Class, java.lang.String)"><CODE>getSubclassIndex</CODE></A> is not called for the subclass.</li> </ol> <p>For example:</p> <pre class="code"> EntityModel model = new AnnotationModel(); model.registerClass(MyProxy.class); model.registerClass(MyEntitySubclass.class); StoreConfig config = new StoreConfig(); ... config.setModel(model); EntityStore store = new EntityStore(..., config);</pre> <p>This method must be called before opening a store based on this model.</p> <P> <DD><DL> <DT><B>Throws:</B> <DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called for a model that is associated with an open store. <DD><CODE>java.lang.IllegalArgumentException</CODE> - if the given class is not persistent or has a different class loader than previously registered classes.</DL> </DD> </DL> <HR> <A NAME="getClassMetadata(java.lang.String)"><!-- --></A><H3> getClassMetadata</H3> <PRE> public abstract <A HREF="../../../../com/sleepycat/persist/model/ClassMetadata.html" title="class in com.sleepycat.persist.model">ClassMetadata</A> <B>getClassMetadata</B>(java.lang.String className)</PRE> <DL> <DD>Returns the metadata for a given persistent class name, including proxy classes and entity classes. <P> <DD><DL> <DT><B>Returns:</B><DD>the metadata or null if the class is not persistent or does not exist.</DL> </DD> </DL> <HR> <A NAME="getEntityMetadata(java.lang.String)"><!-- --></A><H3> getEntityMetadata</H3> <PRE> public abstract <A HREF="../../../../com/sleepycat/persist/model/EntityMetadata.html" title="class in com.sleepycat.persist.model">EntityMetadata</A> <B>getEntityMetadata</B>(java.lang.String className)</PRE> <DL> <DD>Returns the metadata for a given entity class name. <P> <DD><DL> <DT><B>Returns:</B><DD>the metadata or null if the class is not an entity class or does not exist.</DL> </DD> </DL> <HR> <A NAME="getKnownClasses()"><!-- --></A><H3> getKnownClasses</H3> <PRE> public abstract java.util.Set<java.lang.String> <B>getKnownClasses</B>()</PRE> <DL> <DD>Returns the names of all known persistent classes. A type becomes known when an instance of the type is stored for the first time or metadata or type information is queried for a specific class name. <P> <DD><DL> <DT><B>Returns:</B><DD>an unmodifiable set of class names. <DT><B>Throws:</B> <DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called for a model that is not associated with an open store.</DL> </DD> </DL> <HR> <A NAME="getRawType(java.lang.String)"><!-- --></A><H3> getRawType</H3> <PRE> public final <A HREF="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</A> <B>getRawType</B>(java.lang.String className)</PRE> <DL> <DD>Returns the type information for the current version of a given class, or null if the class is not currently persistent. <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>className</CODE> - the name of the current version of the class. <DT><B>Throws:</B> <DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called for a model that is not associated with an open store.</DL> </DD> </DL> <HR> <A NAME="getRawTypeVersion(java.lang.String, int)"><!-- --></A><H3> getRawTypeVersion</H3> <PRE> public final <A HREF="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</A> <B>getRawTypeVersion</B>(java.lang.String className, int version)</PRE> <DL> <DD>Returns the type information for a given version of a given class, or null if the given version of the class is unknown. <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>className</CODE> - the name of the latest version of the class.<DD><CODE>version</CODE> - the desired version of the class. <DT><B>Throws:</B> <DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called for a model that is not associated with an open store.</DL> </DD> </DL> <HR> <A NAME="getAllRawTypeVersions(java.lang.String)"><!-- --></A><H3> getAllRawTypeVersions</H3> <PRE> public final java.util.List<<A HREF="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</A>> <B>getAllRawTypeVersions</B>(java.lang.String className)</PRE> <DL> <DD>Returns all known versions of type information for a given class name, or null if no persistent version of the class is known. <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>className</CODE> - the name of the latest version of the class. <DT><B>Returns:</B><DD>an unmodifiable list of types for the given class name in order from most recent to least recent. <DT><B>Throws:</B> <DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called for a model that is not associated with an open store.</DL> </DD> </DL> <HR> <A NAME="getAllRawTypes()"><!-- --></A><H3> getAllRawTypes</H3> <PRE> public final java.util.List<<A HREF="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</A>> <B>getAllRawTypes</B>()</PRE> <DL> <DD>Returns all versions of all known types. <P> <DD><DL> <DT><B>Returns:</B><DD>an unmodifiable list of types. <DT><B>Throws:</B> <DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called for a model that is not associated with an open store.</DL> </DD> </DL> <HR> <A NAME="convertRawObject(com.sleepycat.persist.raw.RawObject)"><!-- --></A><H3> convertRawObject</H3> <PRE> public final java.lang.Object <B>convertRawObject</B>(<A HREF="../../../../com/sleepycat/persist/raw/RawObject.html" title="class in com.sleepycat.persist.raw">RawObject</A> raw)</PRE> <DL> <DD>Converts a given raw object to a live object according to the current class definitions. <p>The given raw object must conform to the current class definitions. However, the raw type (<A HREF="../../../../com/sleepycat/persist/raw/RawObject.html#getType()"><CODE>RawObject.getType()</CODE></A>) is allowed to be from a different store, as long as the class names and the value types match. This allows converting raw objects that are read from one store to live objects in another store, for example, in a conversion program.</p> <P> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="classForName(java.lang.String)"><!-- --></A><H3> classForName</H3> <PRE> public static java.lang.Class <B>classForName</B>(java.lang.String className) throws java.lang.ClassNotFoundException</PRE> <DL> <DD>Calls Class.forName with the current thread context class loader. This method should be called by entity model implementations instead of calling Class.forName whenever loading an application class. <P> <DD><DL> <DT><B>Throws:</B> <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> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../com/sleepycat/persist/model/EntityMetadata.html" title="class in com.sleepycat.persist.model"><B>PREV CLASS</B></A> <A HREF="../../../../com/sleepycat/persist/model/FieldMetadata.html" title="class in com.sleepycat.persist.model"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?com/sleepycat/persist/model/EntityModel.html" target="_top"><B>FRAMES</B></A> <A HREF="EntityModel.html" target="_top"><B>NO FRAMES</B></A> <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: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> </BODY> </HTML>