<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="de">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Wed Mar 11 20:01:52 CET 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>JDOImplHelper (JDO API ${pom.currentVersion})</title>
<meta name="date" content="2015-03-11">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="JDOImplHelper (JDO API ${pom.currentVersion})";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/JDOImplHelper.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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../javax/jdo/spi/I18NHelper.html" title="class in javax.jdo.spi"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../javax/jdo/spi/JDOImplHelper.StateInterrogationBooleanReturn.html" title="interface in javax.jdo.spi"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/jdo/spi/JDOImplHelper.html" target="_top">Frames</a></li>
<li><a href="JDOImplHelper.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All 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><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&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">javax.jdo.spi</div>
<h2 title="Class JDOImplHelper" class="title">Class JDOImplHelper</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.jdo.spi.JDOImplHelper</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">JDOImplHelper</span>
extends <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">This class is a helper class for JDO implementations.  It contains methods
 to register metadata for persistence-capable classes and to perform common
 operations needed by implementations, not by end users.
 <P><code>JDOImplHelper</code> allows construction of instances of 
 persistence-capable classes without using reflection.
 <P>Persistence-capable classes register themselves via a static method 
 at class load time.
 There is no security restriction on this access.  JDO implementations
 get access to the functions provided by this class only if they are
 authorized by the security manager.  To avoid having every call go through
 the security manager, only the call to get an instance is checked.  Once an 
 implementation
 has an instance, any of the methods can be invoked without security checks.</div>
<dl><dt><span class="strong">Version:</span></dt>
  <dd>2.1</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested_class_summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.StateInterrogationBooleanReturn.html" title="interface in javax.jdo.spi">JDOImplHelper.StateInterrogationBooleanReturn</a></strong></code>
<div class="block">This is an interface used to interrogate the state of an instance
 that does not implement PersistenceCapable.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.StateInterrogationObjectReturn.html" title="interface in javax.jdo.spi">JDOImplHelper.StateInterrogationObjectReturn</a></strong></code>
<div class="block">This is an interface used to interrogate the state of an instance
 that does not implement PersistenceCapable.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.StringConstructor.html" title="interface in javax.jdo.spi">JDOImplHelper.StringConstructor</a></strong></code>
<div class="block">Construct an instance of a key class using a String as input.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#USER_CONFIGURABLE_STANDARD_PROPERTIES">USER_CONFIGURABLE_STANDARD_PROPERTIES</a></strong></code>
<div class="block">JDO standard properties that the user can configure.</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#addRegisterClassListener(javax.jdo.spi.RegisterClassListener)">addRegisterClassListener</a></strong>(<a href="../../../javax/jdo/spi/RegisterClassListener.html" title="interface in javax.jdo.spi">RegisterClassListener</a>&nbsp;crl)</code>
<div class="block">Add the specified <code>RegisterClassListener</code> to the listener 
 list.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#addStateInterrogation(javax.jdo.spi.StateInterrogation)">addStateInterrogation</a></strong>(<a href="../../../javax/jdo/spi/StateInterrogation.html" title="interface in javax.jdo.spi">StateInterrogation</a>&nbsp;si)</code>
<div class="block">Add a StateInterrogation to the list.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#assertOnlyKnownStandardProperties(java.util.Map)">assertOnlyKnownStandardProperties</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;?,?&gt;&nbsp;properties)</code>
<div class="block">Examines the given map for keys beginning with the JDO standard prefix,
 <a href="../../../javax/jdo/Constants.html#JAVAX_JDO_PREFIX"><code>Constants.JAVAX_JDO_PREFIX</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#checkAuthorizedStateManager(javax.jdo.spi.StateManager)">checkAuthorizedStateManager</a></strong>(<a href="../../../javax/jdo/spi/StateManager.html" title="interface in javax.jdo.spi">StateManager</a>&nbsp;sm)</code>
<div class="block">Check that the parameter instance is of a class that is authorized for
 JDOPermission("setStateManager").</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#checkAuthorizedStateManagerClass(java.lang.Class)">checkAuthorizedStateManagerClass</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;smClass)</code>
<div class="block">Check that the parameter instance is a class that is authorized for
 JDOPermission("setStateManager").</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#construct(java.lang.String,%20java.lang.String)">construct</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
         <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keyString)</code>
<div class="block">Construct an instance of the parameter class, using the keyString
 as an argument to the constructor.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#copyKeyFieldsFromObjectId(java.lang.Class,%20javax.jdo.spi.PersistenceCapable.ObjectIdFieldConsumer,%20java.lang.Object)">copyKeyFieldsFromObjectId</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass,
                         <a href="../../../javax/jdo/spi/PersistenceCapable.ObjectIdFieldConsumer.html" title="interface in javax.jdo.spi">PersistenceCapable.ObjectIdFieldConsumer</a>&nbsp;fm,
                         <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oid)</code>
<div class="block">Copy fields to an outside source from the key fields in the ObjectId.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#copyKeyFieldsToObjectId(java.lang.Class,%20javax.jdo.spi.PersistenceCapable.ObjectIdFieldSupplier,%20java.lang.Object)">copyKeyFieldsToObjectId</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass,
                       <a href="../../../javax/jdo/spi/PersistenceCapable.ObjectIdFieldSupplier.html" title="interface in javax.jdo.spi">PersistenceCapable.ObjectIdFieldSupplier</a>&nbsp;fm,
                       <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oid)</code>
<div class="block">Copy fields from an outside source to the key fields in the ObjectId.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#getFieldFlags(java.lang.Class)">getFieldFlags</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass)</code>
<div class="block">Get the field flags for a <code>PersistenceCapable</code> class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#getFieldNames(java.lang.Class)">getFieldNames</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass)</code>
<div class="block">Get the field names for a <code>PersistenceCapable</code> class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#getFieldTypes(java.lang.Class)">getFieldTypes</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass)</code>
<div class="block">Get the field types for a <code>PersistenceCapable</code> class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../javax/jdo/spi/JDOImplHelper.html" title="class in javax.jdo.spi">JDOImplHelper</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#getInstance()">getInstance</a></strong>()</code>
<div class="block">Get an instance of <code>JDOImplHelper</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#getPersistenceCapableSuperclass(java.lang.Class)">getPersistenceCapableSuperclass</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass)</code>
<div class="block">Get the persistence-capable superclass for a 
 <code>PersistenceCapable</code> class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#getRegisteredClasses()">getRegisteredClasses</a></strong>()</code>
<div class="block">Returns a collection of class objects of the registered 
 persistence-capable classes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers">DocumentBuilderFactory</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#getRegisteredDocumentBuilderFactory()">getRegisteredDocumentBuilderFactory</a></strong>()</code>
<div class="block">Return the registered instance of DocumentBuilderFactory.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/1.5.0/docs/api/org/xml/sax/ErrorHandler.html?is-external=true" title="class or interface in org.xml.sax">ErrorHandler</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#getRegisteredErrorHandler()">getRegisteredErrorHandler</a></strong>()</code>
<div class="block">Return the registered instance of ErrorHandler.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#newInstance(java.lang.Class,%20javax.jdo.spi.StateManager)">newInstance</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass,
           <a href="../../../javax/jdo/spi/StateManager.html" title="interface in javax.jdo.spi">StateManager</a>&nbsp;sm)</code>
<div class="block">Create a new instance of the class and assign its 
 <code>jdoStateManager</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#newInstance(java.lang.Class,%20javax.jdo.spi.StateManager,%20java.lang.Object)">newInstance</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass,
           <a href="../../../javax/jdo/spi/StateManager.html" title="interface in javax.jdo.spi">StateManager</a>&nbsp;sm,
           <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oid)</code>
<div class="block">Create a new instance of the class and assign its 
 <code>jdoStateManager</code> and key values from the ObjectId.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#newObjectIdInstance(java.lang.Class)">newObjectIdInstance</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass)</code>
<div class="block">Create a new instance of the ObjectId class of this
 <code>PersistenceCapable</code> class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#newObjectIdInstance(java.lang.Class,%20java.lang.Object)">newObjectIdInstance</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass,
                   <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>
<div class="block">Create a new instance of the class used by the parameter Class
 for JDO identity, using the
 key constructor of the object id class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#nonBinaryCompatibleGet(java.lang.Object,%20javax.jdo.spi.JDOImplHelper.StateInterrogationObjectReturn)">nonBinaryCompatibleGet</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pc,
                      <a href="../../../javax/jdo/spi/JDOImplHelper.StateInterrogationObjectReturn.html" title="interface in javax.jdo.spi">JDOImplHelper.StateInterrogationObjectReturn</a>&nbsp;sibr)</code>
<div class="block">Return an object associated with a non-binary-compatible instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#nonBinaryCompatibleIs(java.lang.Object,%20javax.jdo.spi.JDOImplHelper.StateInterrogationBooleanReturn)">nonBinaryCompatibleIs</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pc,
                     <a href="../../../javax/jdo/spi/JDOImplHelper.StateInterrogationBooleanReturn.html" title="interface in javax.jdo.spi">JDOImplHelper.StateInterrogationBooleanReturn</a>&nbsp;sibr)</code>
<div class="block">Determine the state of a non-binary-compatible instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#nonBinaryCompatibleMakeDirty(java.lang.Object,%20java.lang.String)">nonBinaryCompatibleMakeDirty</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pc,
                            <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fieldName)</code>
<div class="block">Mark a non-binary-compatible instance dirty.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#registerAuthorizedStateManagerClass(java.lang.Class)">registerAuthorizedStateManagerClass</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;smClass)</code>
<div class="block">Register a class authorized to replaceStateManager.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#registerAuthorizedStateManagerClasses(java.util.Collection)">registerAuthorizedStateManagerClasses</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&nbsp;smClasses)</code>
<div class="block">Register classes authorized to replaceStateManager.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#registerClass(java.lang.Class,%20java.lang.String[],%20java.lang.Class[],%20byte[],%20java.lang.Class,%20javax.jdo.spi.PersistenceCapable)">registerClass</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass,
             <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;fieldNames,
             <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>[]&nbsp;fieldTypes,
             byte[]&nbsp;fieldFlags,
             <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;persistenceCapableSuperclass,
             <a href="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</a>&nbsp;pc)</code>
<div class="block">Register metadata by class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#registerDateFormat(java.text.DateFormat)">registerDateFormat</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</a>&nbsp;df)</code>
<div class="block">Register a DateFormat instance for use with constructing Date 
 instances.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#registerDocumentBuilderFactory(javax.xml.parsers.DocumentBuilderFactory)">registerDocumentBuilderFactory</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers">DocumentBuilderFactory</a>&nbsp;factory)</code>
<div class="block">Register a DocumentBuilderFactory instance for use in parsing the
 resource(s) META-INF/jdoconfig.xml.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#registerErrorHandler(org.xml.sax.ErrorHandler)">registerErrorHandler</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/org/xml/sax/ErrorHandler.html?is-external=true" title="class or interface in org.xml.sax">ErrorHandler</a>&nbsp;handler)</code>
<div class="block">Register an ErrorHandler instance for use in parsing the
 resource(s) META-INF/jdoconfig.xml.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#registerStringConstructor(java.lang.Class,%20javax.jdo.spi.JDOImplHelper.StringConstructor)">registerStringConstructor</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;cls,
                         <a href="../../../javax/jdo/spi/JDOImplHelper.StringConstructor.html" title="interface in javax.jdo.spi">JDOImplHelper.StringConstructor</a>&nbsp;sc)</code>
<div class="block">Register special StringConstructor instances.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#removeRegisterClassListener(javax.jdo.spi.RegisterClassListener)">removeRegisterClassListener</a></strong>(<a href="../../../javax/jdo/spi/RegisterClassListener.html" title="interface in javax.jdo.spi">RegisterClassListener</a>&nbsp;crl)</code>
<div class="block">Remove the specified <code>RegisterClassListener</code> from the listener
 list.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#removeStateInterrogation(javax.jdo.spi.StateInterrogation)">removeStateInterrogation</a></strong>(<a href="../../../javax/jdo/spi/StateInterrogation.html" title="interface in javax.jdo.spi">StateInterrogation</a>&nbsp;si)</code>
<div class="block">Remove a StateInterrogation from the list.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#unregisterClass(java.lang.Class)">unregisterClass</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass)</code>
<div class="block">Unregister metadata by class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/jdo/spi/JDOImplHelper.html#unregisterClasses(java.lang.ClassLoader)">unregisterClasses</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;cl)</code>
<div class="block">Unregister metadata by class loader.</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.<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="USER_CONFIGURABLE_STANDARD_PROPERTIES">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>USER_CONFIGURABLE_STANDARD_PROPERTIES</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; USER_CONFIGURABLE_STANDARD_PROPERTIES</pre>
<div class="block">JDO standard properties that the user can configure.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getInstance()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstance</h4>
<pre>public static&nbsp;<a href="../../../javax/jdo/spi/JDOImplHelper.html" title="class in javax.jdo.spi">JDOImplHelper</a>&nbsp;getInstance()
                                 throws <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</a></pre>
<div class="block">Get an instance of <code>JDOImplHelper</code>.  This method
 checks that the caller is authorized for 
 <code>JDOPermission("getMetadata")</code>, and if not, throws 
 <code>SecurityException</code>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>an instance of <code>JDOImplHelper</code>.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</a></code> - if the caller is not authorized for 
 JDOPermission("getMetadata").</dd></dl>
</li>
</ul>
<a name="getFieldNames(java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFieldNames</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getFieldNames(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass)</pre>
<div class="block">Get the field names for a <code>PersistenceCapable</code> class.  The 
 order of fields is the natural ordering of the <code>String</code> class
 (without considering localization).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pcClass</code> - the <code>PersistenceCapable</code> class.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the field names for the class.</dd></dl>
</li>
</ul>
<a name="getFieldTypes(java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFieldTypes</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>[]&nbsp;getFieldTypes(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass)</pre>
<div class="block">Get the field types for a <code>PersistenceCapable</code> class.  The 
 order of fields is the same as for field names.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pcClass</code> - the <code>PersistenceCapable</code> class.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the field types for the class.</dd></dl>
</li>
</ul>
<a name="getFieldFlags(java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFieldFlags</h4>
<pre>public&nbsp;byte[]&nbsp;getFieldFlags(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass)</pre>
<div class="block">Get the field flags for a <code>PersistenceCapable</code> class.  The 
 order of fields is the same as for field names.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pcClass</code> - the <code>PersistenceCapable</code> class.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the field types for the class.</dd></dl>
</li>
</ul>
<a name="getPersistenceCapableSuperclass(java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPersistenceCapableSuperclass</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;getPersistenceCapableSuperclass(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass)</pre>
<div class="block">Get the persistence-capable superclass for a 
 <code>PersistenceCapable</code> class.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pcClass</code> - the <code>PersistenceCapable</code> class.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The <code>PersistenceCapable</code> superclass for this class,
 or <code>null</code> if there isn't one.</dd></dl>
</li>
</ul>
<a name="newInstance(java.lang.Class, javax.jdo.spi.StateManager)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newInstance</h4>
<pre>public&nbsp;<a href="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</a>&nbsp;newInstance(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass,
                             <a href="../../../javax/jdo/spi/StateManager.html" title="interface in javax.jdo.spi">StateManager</a>&nbsp;sm)</pre>
<div class="block">Create a new instance of the class and assign its 
 <code>jdoStateManager</code>.  The new instance has its 
 <code>jdoFlags</code> set to <code>LOAD_REQUIRED</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pcClass</code> - the <code>PersistenceCapable</code> class.</dd><dd><code>sm</code> - the <code>StateManager</code> which will own the new instance.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the new instance, or <code>null</code> if the class is not 
 registered.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/jdo/spi/PersistenceCapable.html#jdoNewInstance(javax.jdo.spi.StateManager)"><code>PersistenceCapable.jdoNewInstance(StateManager sm)</code></a></dd></dl>
</li>
</ul>
<a name="newInstance(java.lang.Class, javax.jdo.spi.StateManager, java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newInstance</h4>
<pre>public&nbsp;<a href="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</a>&nbsp;newInstance(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass,
                             <a href="../../../javax/jdo/spi/StateManager.html" title="interface in javax.jdo.spi">StateManager</a>&nbsp;sm,
                             <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oid)</pre>
<div class="block">Create a new instance of the class and assign its 
 <code>jdoStateManager</code> and key values from the ObjectId.  If the 
 oid parameter is <code>null</code>, no key values are copied.
 The new instance has its <code>jdoFlags</code> set to 
 <code>LOAD_REQUIRED</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pcClass</code> - the <code>PersistenceCapable</code> class.</dd><dd><code>sm</code> - the <code>StateManager</code> which will own the new instance.</dd><dd><code>oid</code> - the ObjectId instance from which to copy key field values.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the new instance, or <code>null</code> if the class is not 
 registered.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/jdo/spi/PersistenceCapable.html#jdoNewInstance(javax.jdo.spi.StateManager,%20java.lang.Object)"><code>PersistenceCapable.jdoNewInstance(StateManager sm, Object oid)</code></a></dd></dl>
</li>
</ul>
<a name="newObjectIdInstance(java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newObjectIdInstance</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;newObjectIdInstance(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass)</pre>
<div class="block">Create a new instance of the ObjectId class of this
 <code>PersistenceCapable</code> class.
 It is intended only for application identity. This method should
 not be called for classes that use single field identity;
 newObjectIdInstance(Class, Object) should be used instead. 
 If the class has been 
 enhanced for datastore identity, or if the class is abstract, 
 null is returned.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pcClass</code> - the <code>PersistenceCapable</code> class.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the new ObjectId instance, or <code>null</code> if the class 
 is not registered.</dd></dl>
</li>
</ul>
<a name="newObjectIdInstance(java.lang.Class, java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newObjectIdInstance</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;newObjectIdInstance(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass,
                         <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
<div class="block">Create a new instance of the class used by the parameter Class
 for JDO identity, using the
 key constructor of the object id class. It is intended for single
 field identity. The identity
 instance returned has no relationship with the values of the primary key
 fields of the persistence-capable instance on which the method is called.
 If the key is the wrong class for the object id class, null is returned.
 <P>For classes that use single field identity, if the parameter is 
 of one of the following types, the behavior must be as specified:
 <ul><li><code>Number</code> or <code>Character</code>: the 
 parameter must be the single field
 type or the wrapper class of the primitive field type; the parameter
 is passed to the single field identity constructor
 </li><li><code>ObjectIdFieldSupplier</code>: the field value
 is fetched from the <code>ObjectIdFieldSupplier</code> and passed to the 
 single field identity constructor
 </li><li><code>String</code>: the String is passed to the 
 single field identity constructor
 </li></ul></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>obj</code> - the <code>Object</code> form of the object id</dd><dd><code>pcClass</code> - the <code>PersistenceCapable</code> class.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the new ObjectId instance, or <code>null</code> 
 if the class is not registered.</dd><dt><span class="strong">Since:</span></dt>
  <dd>2.0</dd></dl>
</li>
</ul>
<a name="copyKeyFieldsToObjectId(java.lang.Class, javax.jdo.spi.PersistenceCapable.ObjectIdFieldSupplier, java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyKeyFieldsToObjectId</h4>
<pre>public&nbsp;void&nbsp;copyKeyFieldsToObjectId(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass,
                           <a href="../../../javax/jdo/spi/PersistenceCapable.ObjectIdFieldSupplier.html" title="interface in javax.jdo.spi">PersistenceCapable.ObjectIdFieldSupplier</a>&nbsp;fm,
                           <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oid)</pre>
<div class="block">Copy fields from an outside source to the key fields in the ObjectId.
 This method is generated in the <code>PersistenceCapable</code> class to
 generate a call to the field manager for each key field in the ObjectId.  
 <P>For example, an ObjectId class that has three key fields 
 (<code>int id</code>, <code>String name</code>, and 
 <code>Float salary</code>) would have the method generated:
 <P><code>
 void jdoCopyKeyFieldsToObjectId (Object oid, ObjectIdFieldSupplier fm) {
 <BR>    oid.id = fm.fetchIntField (0);
 <BR>    oid.name = fm.fetchStringField (1);
 <BR>    oid.salary = fm.fetchObjectField (2);
 <BR>}</code>
 <P>The implementation is responsible for implementing the 
 <code>ObjectIdFieldSupplier</code> to provide the values for the key 
 fields.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pcClass</code> - the <code>PersistenceCapable Class</code>.</dd><dd><code>oid</code> - the ObjectId target of the copy.</dd><dd><code>fm</code> - the field manager that supplies the field values.</dd></dl>
</li>
</ul>
<a name="copyKeyFieldsFromObjectId(java.lang.Class, javax.jdo.spi.PersistenceCapable.ObjectIdFieldConsumer, java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyKeyFieldsFromObjectId</h4>
<pre>public&nbsp;void&nbsp;copyKeyFieldsFromObjectId(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass,
                             <a href="../../../javax/jdo/spi/PersistenceCapable.ObjectIdFieldConsumer.html" title="interface in javax.jdo.spi">PersistenceCapable.ObjectIdFieldConsumer</a>&nbsp;fm,
                             <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oid)</pre>
<div class="block">Copy fields to an outside source from the key fields in the ObjectId.
 This method is generated in the <code>PersistenceCapable</code> class to 
 generate a call to the field manager for each key field in the ObjectId.  
 For example, an ObjectId class that has three key fields 
 (<code>int id</code>, <code>String name</code>, and 
 <code>Float salary</code>) would have the method generated:
 <P><code>void jdoCopyKeyFieldsFromObjectId
 <BR>        (PersistenceCapable oid, ObjectIdFieldConsumer fm) {
 <BR>     fm.storeIntField (0, oid.id);
 <BR>     fm.storeStringField (1, oid.name);
 <BR>     fm.storeObjectField (2, oid.salary);
 <BR>}</code>
 <P>The implementation is responsible for implementing the
 <code>ObjectIdFieldConsumer</code> to store the values for the key 
 fields.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pcClass</code> - the <code>PersistenceCapable</code> class</dd><dd><code>oid</code> - the ObjectId source of the copy.</dd><dd><code>fm</code> - the field manager that receives the field values.</dd></dl>
</li>
</ul>
<a name="registerClass(java.lang.Class, java.lang.String[], java.lang.Class[], byte[], java.lang.Class, javax.jdo.spi.PersistenceCapable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerClass</h4>
<pre>public static&nbsp;void&nbsp;registerClass(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass,
                 <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;fieldNames,
                 <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>[]&nbsp;fieldTypes,
                 byte[]&nbsp;fieldFlags,
                 <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;persistenceCapableSuperclass,
                 <a href="../../../javax/jdo/spi/PersistenceCapable.html" title="interface in javax.jdo.spi">PersistenceCapable</a>&nbsp;pc)</pre>
<div class="block">Register metadata by class.  The registration will be done in the
 class named <code>JDOImplHelper</code> loaded by the same or an
 ancestor class loader as the <code>PersistenceCapable</code> class
 performing the registration.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pcClass</code> - the <code>PersistenceCapable</code> class
 used as the key for lookup.</dd><dd><code>fieldNames</code> - an array of <code>String</code> field names for 
 persistent and transactional fields</dd><dd><code>fieldTypes</code> - an array of <code>Class</code> field types</dd><dd><code>fieldFlags</code> - the Field Flags for persistent and transactional fields</dd><dd><code>pc</code> - an instance of the <code>PersistenceCapable</code> class</dd><dd><code>persistenceCapableSuperclass</code> - the most immediate superclass that is
 <code>PersistenceCapable</code></dd></dl>
</li>
</ul>
<a name="unregisterClasses(java.lang.ClassLoader)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterClasses</h4>
<pre>public&nbsp;void&nbsp;unregisterClasses(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;cl)</pre>
<div class="block">Unregister metadata by class loader. This method unregisters all
 registered <code>PersistenceCapable</code> classes loaded by the
 specified class loader. Any attempt to get metadata for unregistered
 classes will result in a <code>JDOFatalUserException</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cl</code> - the class loader.</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0.2</dd></dl>
</li>
</ul>
<a name="unregisterClass(java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterClass</h4>
<pre>public&nbsp;void&nbsp;unregisterClass(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;pcClass)</pre>
<div class="block">Unregister metadata by class. This method unregisters the specified
 class. Any further attempt to get metadata for the specified class will
 result in a <code>JDOFatalUserException</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pcClass</code> - the <code>PersistenceCapable</code> class to be 
 unregistered.</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0.2</dd></dl>
</li>
</ul>
<a name="addRegisterClassListener(javax.jdo.spi.RegisterClassListener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRegisterClassListener</h4>
<pre>public&nbsp;void&nbsp;addRegisterClassListener(<a href="../../../javax/jdo/spi/RegisterClassListener.html" title="interface in javax.jdo.spi">RegisterClassListener</a>&nbsp;crl)</pre>
<div class="block">Add the specified <code>RegisterClassListener</code> to the listener 
 list.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>crl</code> - the listener to be added</dd></dl>
</li>
</ul>
<a name="removeRegisterClassListener(javax.jdo.spi.RegisterClassListener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeRegisterClassListener</h4>
<pre>public&nbsp;void&nbsp;removeRegisterClassListener(<a href="../../../javax/jdo/spi/RegisterClassListener.html" title="interface in javax.jdo.spi">RegisterClassListener</a>&nbsp;crl)</pre>
<div class="block">Remove the specified <code>RegisterClassListener</code> from the listener
 list.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>crl</code> - the listener to be removed</dd></dl>
</li>
</ul>
<a name="getRegisteredClasses()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegisteredClasses</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&gt;&nbsp;getRegisteredClasses()</pre>
<div class="block">Returns a collection of class objects of the registered 
 persistence-capable classes.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>registered persistence-capable classes</dd></dl>
</li>
</ul>
<a name="registerAuthorizedStateManagerClass(java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerAuthorizedStateManagerClass</h4>
<pre>public static&nbsp;void&nbsp;registerAuthorizedStateManagerClass(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;smClass)
                                                throws <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</a></pre>
<div class="block">Register a class authorized to replaceStateManager.  The caller of
 this method must be authorized for JDOPermission("setStateManager").
 During replaceStateManager, a persistence-capable class will call
 the corresponding checkAuthorizedStateManager and the class of the
 instance of the parameter must have been registered.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>smClass</code> - a Class that is authorized for 
 JDOPermission("setStateManager").</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</a></code> - if the caller is not authorized for 
 JDOPermission("setStateManager").</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0.1</dd></dl>
</li>
</ul>
<a name="registerAuthorizedStateManagerClasses(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerAuthorizedStateManagerClasses</h4>
<pre>public static&nbsp;void&nbsp;registerAuthorizedStateManagerClasses(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&nbsp;smClasses)
                                                  throws <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</a></pre>
<div class="block">Register classes authorized to replaceStateManager.  The caller of
 this method must be authorized for JDOPermission("setStateManager").
 During replaceStateManager, a persistence-capable class will call
 the corresponding checkAuthorizedStateManager and the class of the
 instance of the parameter must have been registered.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>smClasses</code> - a Collection of Classes that are authorized for 
 JDOPermission("setStateManager").</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</a></code> - if the caller is not authorized for 
 JDOPermission("setStateManager").</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0.1</dd></dl>
</li>
</ul>
<a name="registerDocumentBuilderFactory(javax.xml.parsers.DocumentBuilderFactory)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerDocumentBuilderFactory</h4>
<pre>public&nbsp;void&nbsp;registerDocumentBuilderFactory(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers">DocumentBuilderFactory</a>&nbsp;factory)</pre>
<div class="block">Register a DocumentBuilderFactory instance for use in parsing the
 resource(s) META-INF/jdoconfig.xml. The default is governed by the
 semantics of DocumentBuilderFactory.newInstance().</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>factory</code> - the DocumentBuilderFactory instance to use</dd><dt><span class="strong">Since:</span></dt>
  <dd>2.1</dd></dl>
</li>
</ul>
<a name="getRegisteredDocumentBuilderFactory()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegisteredDocumentBuilderFactory</h4>
<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers">DocumentBuilderFactory</a>&nbsp;getRegisteredDocumentBuilderFactory()</pre>
<div class="block">Return the registered instance of DocumentBuilderFactory.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the DocumentBuilderFactory if registered; null otherwise</dd><dt><span class="strong">Since:</span></dt>
  <dd>2.1</dd></dl>
</li>
</ul>
<a name="registerErrorHandler(org.xml.sax.ErrorHandler)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerErrorHandler</h4>
<pre>public&nbsp;void&nbsp;registerErrorHandler(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/org/xml/sax/ErrorHandler.html?is-external=true" title="class or interface in org.xml.sax">ErrorHandler</a>&nbsp;handler)</pre>
<div class="block">Register an ErrorHandler instance for use in parsing the
 resource(s) META-INF/jdoconfig.xml. The default is an ErrorHandler
 that throws on error or fatalError and ignores warnings.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>handler</code> - the ErrorHandler instance to use</dd><dt><span class="strong">Since:</span></dt>
  <dd>2.1</dd></dl>
</li>
</ul>
<a name="getRegisteredErrorHandler()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegisteredErrorHandler</h4>
<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/org/xml/sax/ErrorHandler.html?is-external=true" title="class or interface in org.xml.sax">ErrorHandler</a>&nbsp;getRegisteredErrorHandler()</pre>
<div class="block">Return the registered instance of ErrorHandler.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the registered ErrorHandler if registered; null otherwise</dd><dt><span class="strong">Since:</span></dt>
  <dd>2.1</dd></dl>
</li>
</ul>
<a name="checkAuthorizedStateManager(javax.jdo.spi.StateManager)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAuthorizedStateManager</h4>
<pre>public static&nbsp;void&nbsp;checkAuthorizedStateManager(<a href="../../../javax/jdo/spi/StateManager.html" title="interface in javax.jdo.spi">StateManager</a>&nbsp;sm)</pre>
<div class="block">Check that the parameter instance is of a class that is authorized for
 JDOPermission("setStateManager").  This method is called by the
 replaceStateManager method in persistence-capable classes.
 A class that is passed as the parameter to replaceStateManager must be
 authorized for JDOPermission("setStateManager").  To improve performance,
 first the set of authorized classes is checked, and if not present, a
 regular permission check is made.  The regular permission check requires
 that all callers on the stack, including the persistence-capable class
 itself, must be authorized for JDOPermission("setStateManager").</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sm</code> - an instance of StateManager whose class is to be checked.</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0.1</dd></dl>
</li>
</ul>
<a name="checkAuthorizedStateManagerClass(java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAuthorizedStateManagerClass</h4>
<pre>public static&nbsp;void&nbsp;checkAuthorizedStateManagerClass(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;smClass)</pre>
<div class="block">Check that the parameter instance is a class that is authorized for
 JDOPermission("setStateManager").  This method is called by the
 constructors of JDO Reference Implementation classes.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>smClass</code> - a Class to be checked for JDOPermission("setStateManager")</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0.1</dd></dl>
</li>
</ul>
<a name="registerStringConstructor(java.lang.Class, javax.jdo.spi.JDOImplHelper.StringConstructor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerStringConstructor</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;registerStringConstructor(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;cls,
                               <a href="../../../javax/jdo/spi/JDOImplHelper.StringConstructor.html" title="interface in javax.jdo.spi">JDOImplHelper.StringConstructor</a>&nbsp;sc)</pre>
<div class="block">Register special StringConstructor instances. These instances
 are for constructing instances from String parameters where there
 is no String constructor for them.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cls</code> - the class to register a StringConstructor for</dd><dd><code>sc</code> - the StringConstructor instance</dd>
<dt><span class="strong">Returns:</span></dt><dd>the previous StringConstructor registered for this class</dd></dl>
</li>
</ul>
<a name="construct(java.lang.String, java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>construct</h4>
<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;construct(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
               <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keyString)</pre>
<div class="block">Construct an instance of the parameter class, using the keyString
 as an argument to the constructor. If the class has a StringConstructor
 instance registered, use it. If not, try to find a constructor for
 the class with a single String argument. Otherwise, throw a
 JDOUserException.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>className</code> - the name of the class</dd><dd><code>keyString</code> - the String parameter for the constructor</dd>
<dt><span class="strong">Returns:</span></dt><dd>the result of construction</dd></dl>
</li>
</ul>
<a name="registerDateFormat(java.text.DateFormat)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerDateFormat</h4>
<pre>public&nbsp;void&nbsp;registerDateFormat(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</a>&nbsp;df)</pre>
<div class="block">Register a DateFormat instance for use with constructing Date 
 instances. The default is the default DateFormat instance.
 If the new instance implements SimpleDateFormat, get its pattern
 for error messages.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>df</code> - the DateFormat instance to use</dd><dt><span class="strong">Since:</span></dt>
  <dd>2.0</dd></dl>
</li>
</ul>
<a name="addStateInterrogation(javax.jdo.spi.StateInterrogation)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addStateInterrogation</h4>
<pre>public&nbsp;void&nbsp;addStateInterrogation(<a href="../../../javax/jdo/spi/StateInterrogation.html" title="interface in javax.jdo.spi">StateInterrogation</a>&nbsp;si)</pre>
<div class="block">Add a StateInterrogation to the list. Create a new list
 in case there is an iterator open on the original list.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>si</code> - the StateInterrogation to add</dd></dl>
</li>
</ul>
<a name="removeStateInterrogation(javax.jdo.spi.StateInterrogation)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeStateInterrogation</h4>
<pre>public&nbsp;void&nbsp;removeStateInterrogation(<a href="../../../javax/jdo/spi/StateInterrogation.html" title="interface in javax.jdo.spi">StateInterrogation</a>&nbsp;si)</pre>
<div class="block">Remove a StateInterrogation from the list. Create a new list
 in case there is an iterator open on the original list.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>si</code> - the StateInterrogation to remove</dd></dl>
</li>
</ul>
<a name="nonBinaryCompatibleMakeDirty(java.lang.Object, java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nonBinaryCompatibleMakeDirty</h4>
<pre>public&nbsp;void&nbsp;nonBinaryCompatibleMakeDirty(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pc,
                                <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fieldName)</pre>
<div class="block">Mark a non-binary-compatible instance dirty. Delegate to all
 registered StateInterrogation instances until one of them
 handles the call.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pc</code> - the instance to mark dirty</dd><dd><code>fieldName</code> - the field to mark dirty</dd></dl>
</li>
</ul>
<a name="nonBinaryCompatibleIs(java.lang.Object, javax.jdo.spi.JDOImplHelper.StateInterrogationBooleanReturn)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nonBinaryCompatibleIs</h4>
<pre>public&nbsp;boolean&nbsp;nonBinaryCompatibleIs(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pc,
                            <a href="../../../javax/jdo/spi/JDOImplHelper.StateInterrogationBooleanReturn.html" title="interface in javax.jdo.spi">JDOImplHelper.StateInterrogationBooleanReturn</a>&nbsp;sibr)</pre>
<div class="block">Determine the state of a non-binary-compatible instance.
 Delegate to all registered StateInterrogation instances until
 one of them handles the call (returns a non-null Boolean 
 with the answer).
 The caller provides the stateless "method object" that does 
 the actual call to the StateInterrogation instance.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pc</code> - the instance to be checked</dd><dd><code>sibr</code> - the method object that delegates to the 
 non-binary-compatible implementation</dd>
<dt><span class="strong">Returns:</span></dt><dd>Boolean.TRUE if the instance satisfies the state interrogation;
 Boolean.FALSE if the instance does not satisfy the interrogation;
 or null if the implementation does not manage the class of the instance</dd></dl>
</li>
</ul>
<a name="nonBinaryCompatibleGet(java.lang.Object, javax.jdo.spi.JDOImplHelper.StateInterrogationObjectReturn)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nonBinaryCompatibleGet</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;nonBinaryCompatibleGet(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pc,
                            <a href="../../../javax/jdo/spi/JDOImplHelper.StateInterrogationObjectReturn.html" title="interface in javax.jdo.spi">JDOImplHelper.StateInterrogationObjectReturn</a>&nbsp;sibr)</pre>
<div class="block">Return an object associated with a non-binary-compatible instance.
 Delegate to all registered StateInterrogation instances until
 one of them handles the call (returns a non-null answer).
 The caller provides the stateless "method object" that does 
 the actual call to the StateInterrogation instance.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pc</code> - the instance whose associated object is needed</dd><dd><code>sibr</code> - the method object that delegates to the 
 non-binary-compatible implementation</dd>
<dt><span class="strong">Returns:</span></dt><dd>the associated object or null if the implementation does not
 manage the class of the instance</dd></dl>
</li>
</ul>
<a name="assertOnlyKnownStandardProperties(java.util.Map)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>assertOnlyKnownStandardProperties</h4>
<pre>public static&nbsp;void&nbsp;assertOnlyKnownStandardProperties(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;?,?&gt;&nbsp;properties)</pre>
<div class="block">Examines the given map for keys beginning with the JDO standard prefix,
 <a href="../../../javax/jdo/Constants.html#JAVAX_JDO_PREFIX"><code>Constants.JAVAX_JDO_PREFIX</code></a>. If any property keys are found with
 that prefix but are unknown to this version of the JDO standard, a
 JDOUserException is thrown with a message indicating the unknown
 property. Keys that are not strings are ignored, as are string keys
 beginning with
 <a href="../../../javax/jdo/Constants.html#PROPERTY_PREFIX_INSTANCE_LIFECYCLE_LISTENER"><code>Constants.PROPERTY_PREFIX_INSTANCE_LIFECYCLE_LISTENER</code></a> or not
 beginning with <a href="../../../javax/jdo/Constants.html#JAVAX_JDO_PREFIX"><code>Constants.JAVAX_JDO_PREFIX</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>properties</code> - The properties to examine.</dd><dt><span class="strong">Since:</span></dt>
  <dd>3.1</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/jdo/Constants.html#JAVAX_JDO_PREFIX"><code>Constants.JAVAX_JDO_PREFIX</code></a>, 
<code>JDOHelper#USER_CONFIGURABLE_STANDARD_PROPERTIES</code></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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/JDOImplHelper.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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../javax/jdo/spi/I18NHelper.html" title="class in javax.jdo.spi"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../javax/jdo/spi/JDOImplHelper.StateInterrogationBooleanReturn.html" title="interface in javax.jdo.spi"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/jdo/spi/JDOImplHelper.html" target="_top">Frames</a></li>
<li><a href="JDOImplHelper.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All 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><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&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>Copyright &#169; 2005&#x2013;2015 <a href="http://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
