je/docs/java/com/sleepycat/persist/model/EntityModel.html
2021-06-06 13:46:45 -04:00

681 lines
32 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_151) on Tue Oct 31 17:36:47 EDT 2017 -->
<title>EntityModel (Oracle - Berkeley DB Java Edition API)</title>
<meta name="date" content="2017-10-31">
<link rel="stylesheet" type="text/css" href="../../../../style.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="EntityModel (Oracle - Berkeley DB Java Edition API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":41,"i1":10,"i2":10,"i3":10,"i4":6,"i5":6,"i6":6,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/EntityModel.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Berkeley DB Java Edition</b><br><font size=\"-1\"> version 7.5.11</font>
</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/sleepycat/persist/model/EntityMetadata.html" title="class in com.sleepycat.persist.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/sleepycat/persist/model/FieldMetadata.html" title="class in com.sleepycat.persist.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/sleepycat/persist/model/EntityModel.html" target="_top">Frames</a></li>
<li><a href="EntityModel.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.sleepycat.persist.model</div>
<h2 title="Class EntityModel" class="title">Class EntityModel</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.sleepycat.persist.model.EntityModel</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../com/sleepycat/persist/model/AnnotationModel.html" title="class in com.sleepycat.persist.model">AnnotationModel</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">EntityModel</span>
extends java.lang.Object</pre>
<div class="block">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></div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Mark Hayes</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#EntityModel--">EntityModel</a></span>()</code>
<div class="block">The default constructor for use by subclasses.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static java.lang.Class</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#classForName-java.lang.String-">classForName</a></span>(java.lang.String&nbsp;className)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">use <a href="../../../../com/sleepycat/persist/model/EntityModel.html#resolveClass-java.lang.String-"><code>resolveClass(java.lang.String)</code></a> instead. This method does not
use the environment's ClassLoader property.</span></div>
</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#convertRawObject-com.sleepycat.persist.raw.RawObject-">convertRawObject</a></span>(<a href="../../../../com/sleepycat/persist/raw/RawObject.html" title="class in com.sleepycat.persist.raw">RawObject</a>&nbsp;raw)</code>
<div class="block">Converts a given raw object to a live object according to the current
class definitions.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#getAllRawTypes--">getAllRawTypes</a></span>()</code>
<div class="block">Returns all versions of all known types.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#getAllRawTypeVersions-java.lang.String-">getAllRawTypeVersions</a></span>(java.lang.String&nbsp;className)</code>
<div class="block">Returns all known versions of type information for a given class name,
or null if no persistent version of the class is known.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../com/sleepycat/persist/model/ClassMetadata.html" title="class in com.sleepycat.persist.model">ClassMetadata</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#getClassMetadata-java.lang.String-">getClassMetadata</a></span>(java.lang.String&nbsp;className)</code>
<div class="block">Returns the metadata for a given persistent class name, including proxy
classes and entity classes.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../com/sleepycat/persist/model/EntityMetadata.html" title="class in com.sleepycat.persist.model">EntityMetadata</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#getEntityMetadata-java.lang.String-">getEntityMetadata</a></span>(java.lang.String&nbsp;className)</code>
<div class="block">Returns the metadata for a given entity class name.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>abstract java.util.Set&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#getKnownClasses--">getKnownClasses</a></span>()</code>
<div class="block">Returns the names of all known persistent classes.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#getKnownSpecialClasses--">getKnownSpecialClasses</a></span>()</code>
<div class="block">Returns the names of all known persistent enum and array classes that
may be used to store persistent data.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#getRawType-java.lang.String-">getRawType</a></span>(java.lang.String&nbsp;className)</code>
<div class="block">Returns the type information for the current version of a given class,
or null if the class is not currently persistent.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#getRawTypeVersion-java.lang.String-int-">getRawTypeVersion</a></span>(java.lang.String&nbsp;className,
int&nbsp;version)</code>
<div class="block">Returns the type information for a given version of a given class,
or null if the given version of the class is unknown.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#isOpen--">isOpen</a></span>()</code>
<div class="block">Returns whether the model is associated with an open store.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#registerClass-java.lang.Class-">registerClass</a></span>(java.lang.Class&nbsp;persistentClass)</code>
<div class="block">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.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.lang.Class</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/sleepycat/persist/model/EntityModel.html#resolveClass-java.lang.String-">resolveClass</a></span>(java.lang.String&nbsp;className)</code>
<div class="block">Should be called by entity model implementations instead of calling
Class.forName whenever loading an application class.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="EntityModel--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>EntityModel</h4>
<pre>protected&nbsp;EntityModel()</pre>
<div class="block">The default constructor for use by subclasses.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="isOpen--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOpen</h4>
<pre>public final&nbsp;boolean&nbsp;isOpen()</pre>
<div class="block">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></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether the model is associated with an open store.</dd>
</dl>
</li>
</ul>
<a name="registerClass-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerClass</h4>
<pre>public final&nbsp;void&nbsp;registerClass(java.lang.Class&nbsp;persistentClass)</pre>
<div class="block">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. Also registers an enum or
array class.
<p>Any persistent class , enum class or array 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 three 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, and</li>
<li>to register all new enum or array classes, if the these enum or
array classes are unknown for DPL but will be used in a Converter
mutation.
</li>
</ol>
<p>For example:</p>
<pre class="code">
EntityModel model = new AnnotationModel();
model.registerClass(MyProxy.class);
model.registerClass(MyEntitySubclass.class);
model.registerClass(MyEnum.class);
model.registerClass(MyArray[].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></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>persistentClass</code> - the class to register.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if this method is called for a model that
is associated with an open store.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the given class is not persistent
or has a different class loader than previously registered classes.</dd>
</dl>
</li>
</ul>
<a name="getClassMetadata-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassMetadata</h4>
<pre>public abstract&nbsp;<a href="../../../../com/sleepycat/persist/model/ClassMetadata.html" title="class in com.sleepycat.persist.model">ClassMetadata</a>&nbsp;getClassMetadata(java.lang.String&nbsp;className)</pre>
<div class="block">Returns the metadata for a given persistent class name, including proxy
classes and entity classes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>className</code> - the class name.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the metadata or null if the class is not persistent or does not
exist.</dd>
</dl>
</li>
</ul>
<a name="getEntityMetadata-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEntityMetadata</h4>
<pre>public abstract&nbsp;<a href="../../../../com/sleepycat/persist/model/EntityMetadata.html" title="class in com.sleepycat.persist.model">EntityMetadata</a>&nbsp;getEntityMetadata(java.lang.String&nbsp;className)</pre>
<div class="block">Returns the metadata for a given entity class name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>className</code> - the class name.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the metadata or null if the class is not an entity class or does
not exist.</dd>
</dl>
</li>
</ul>
<a name="getKnownClasses--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKnownClasses</h4>
<pre>public abstract&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getKnownClasses()</pre>
<div class="block">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.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an unmodifiable set of class names.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if this method is called for a model that
is not associated with an open store.</dd>
</dl>
</li>
</ul>
<a name="getKnownSpecialClasses--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKnownSpecialClasses</h4>
<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getKnownSpecialClasses()</pre>
<div class="block">Returns the names of all known persistent enum and array classes that
may be used to store persistent data. This differs from
<a href="../../../../com/sleepycat/persist/model/EntityModel.html#getKnownClasses--"><code>getKnownClasses()</code></a>, which does not return enum and array classes
because they have no metadata.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an unmodifiable set of enum and array class names.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if this method is called for a model that
is not associated with an open store.</dd>
</dl>
</li>
</ul>
<a name="getRawType-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRawType</h4>
<pre>public final&nbsp;<a href="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</a>&nbsp;getRawType(java.lang.String&nbsp;className)</pre>
<div class="block">Returns the type information for the current version of a given class,
or null if the class is not currently persistent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>className</code> - the name of the current version of the class.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the RawType.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if this method is called for a model that
is not associated with an open store.</dd>
</dl>
</li>
</ul>
<a name="getRawTypeVersion-java.lang.String-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRawTypeVersion</h4>
<pre>public final&nbsp;<a href="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</a>&nbsp;getRawTypeVersion(java.lang.String&nbsp;className,
int&nbsp;version)</pre>
<div class="block">Returns the type information for a given version of a given class,
or null if the given version of the class is unknown.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>className</code> - the name of the latest version of the class.</dd>
<dd><code>version</code> - the desired version of the class.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the RawType.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if this method is called for a model that
is not associated with an open store.</dd>
</dl>
</li>
</ul>
<a name="getAllRawTypeVersions-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllRawTypeVersions</h4>
<pre>public final&nbsp;java.util.List&lt;<a href="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</a>&gt;&nbsp;getAllRawTypeVersions(java.lang.String&nbsp;className)</pre>
<div class="block">Returns all known versions of type information for a given class name,
or null if no persistent version of the class is known.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>className</code> - the name of the latest version of the class.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an unmodifiable list of types for the given class name in order
from most recent to least recent.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if this method is called for a model that
is not associated with an open store.</dd>
</dl>
</li>
</ul>
<a name="getAllRawTypes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllRawTypes</h4>
<pre>public final&nbsp;java.util.List&lt;<a href="../../../../com/sleepycat/persist/raw/RawType.html" title="interface in com.sleepycat.persist.raw">RawType</a>&gt;&nbsp;getAllRawTypes()</pre>
<div class="block">Returns all versions of all known types.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an unmodifiable list of types.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if this method is called for a model that
is not associated with an open store.</dd>
</dl>
</li>
</ul>
<a name="convertRawObject-com.sleepycat.persist.raw.RawObject-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertRawObject</h4>
<pre>public final&nbsp;java.lang.Object&nbsp;convertRawObject(<a href="../../../../com/sleepycat/persist/raw/RawObject.html" title="class in com.sleepycat.persist.raw">RawObject</a>&nbsp;raw)</pre>
<div class="block">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></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>raw</code> - the RawObject.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the live object.</dd>
</dl>
</li>
</ul>
<a name="resolveClass-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resolveClass</h4>
<pre>public&nbsp;java.lang.Class&nbsp;resolveClass(java.lang.String&nbsp;className)
throws java.lang.ClassNotFoundException</pre>
<div class="block">Should be called by entity model implementations instead of calling
Class.forName whenever loading an application class. This method honors
the BDB JE environment's ClassLoader property and uses <a href="../../../../com/sleepycat/util/ClassResolver.html" title="class in com.sleepycat.util"><code>ClassResolver</code></a> to implement the class loading policy.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>className</code> - the class name.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Class.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.ClassNotFoundException</code> - if the class is not found.</dd>
</dl>
</li>
</ul>
<a name="classForName-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>classForName</h4>
<pre>public static&nbsp;java.lang.Class&nbsp;classForName(java.lang.String&nbsp;className)
throws java.lang.ClassNotFoundException</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../com/sleepycat/persist/model/EntityModel.html#resolveClass-java.lang.String-"><code>resolveClass(java.lang.String)</code></a> instead. This method does not
use the environment's ClassLoader property.</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>className</code> - the class name.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Class.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.ClassNotFoundException</code> - if the class is not found.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/EntityModel.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Berkeley DB Java Edition</b><br><font size=\"-1\"> version 7.5.11</font>
</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/sleepycat/persist/model/EntityMetadata.html" title="class in com.sleepycat.persist.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/sleepycat/persist/model/FieldMetadata.html" title="class in com.sleepycat.persist.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/sleepycat/persist/model/EntityModel.html" target="_top">Frames</a></li>
<li><a href="EntityModel.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><font size=1>Copyright (c) 2002, 2017 Oracle and/or its affiliates. All rights reserved.</font> </small></p>
</body>
</html>