blob: 08e87b38c2a259aa065973e6e08a0fd069c57aca [file] [log] [blame]
<!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_252) on Fri Jul 16 09:38:47 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>InheritancePolicy (EclipseLink 3.0.2, API Reference)</title>
<meta name="date" content="2021-07-16">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.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="InheritancePolicy (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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="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">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/descriptors/InterfacePolicy.html" title="class in org.eclipse.persistence.descriptors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/descriptors/InheritancePolicy.html" target="_top">Frames</a></li>
<li><a href="InheritancePolicy.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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">org.eclipse.persistence.descriptors</div>
<h2 title="Class InheritancePolicy" class="title">Class InheritancePolicy</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/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><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">org.eclipse.persistence.core.descriptors.CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.descriptors.InheritancePolicy</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">InheritancePolicy</span>
extends <a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;
implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></pre>
<div class="block"><p><b>Purpose</b>: Allows customization of an object's inheritance.
The primary supported inheritance model uses a class type indicator
column in the table that stores the object's class type.
The class-to-type mapping is specified on this policy.
The full class name can also be used for the indicator instead of the mapping.
<p>Each subclass can either share their parents table, or in addition add their
own table(s).
<p>For legacy models a customized inheritance class-extractor can be provided.
This allows Java code to be used to compute the class type to use for a row.
When this customized inheritance model is used an only-instances and with-all-subclasses
filter expression may be required for concrete and branch querying.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../serialized-form.html#org.eclipse.persistence.descriptors.InheritancePolicy">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" 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>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#allChildClassIndicators">allChildClassIndicators</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#allTables">allTables</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#childDescriptors">childDescriptors</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#childrenJoinExpression">childrenJoinExpression</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#childrenTables">childrenTables</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#childrenTablesJoinExpressions">childrenTablesJoinExpressions</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/descriptors/ClassExtractor.html" title="class in org.eclipse.persistence.descriptors">ClassExtractor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#classExtractor">classExtractor</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#classExtractorName">classExtractorName</a></span></code>
<div class="block">Allow for class extraction method to be specified.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.eclipse.persistence.internal.helper.DatabaseField</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#classIndicatorField">classIndicatorField</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#classIndicatorMapping">classIndicatorMapping</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#classNameIndicatorMapping">classNameIndicatorMapping</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#describesNonPersistentSubclasses">describesNonPersistentSubclasses</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#descriptor">descriptor</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#isJoinedStrategy">isJoinedStrategy</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#onlyInstancesExpression">onlyInstancesExpression</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#parentClass">parentClass</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#parentClassName">parentClassName</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#parentDescriptor">parentDescriptor</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.eclipse.persistence.internal.helper.DatabaseTable</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#readAllSubclassesView">readAllSubclassesView</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#rootParentDescriptor">rootParentDescriptor</a></span></code>
<div class="block">PERF: Cache root descriptor.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#shouldAlwaysUseOuterJoin">shouldAlwaysUseOuterJoin</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#shouldOuterJoinSubclasses">shouldOuterJoinSubclasses</a></span></code>
<div class="block">Define if an outer join should be used to read subclasses.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#shouldReadSubclasses">shouldReadSubclasses</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#shouldUseClassNameAsIndicator">shouldUseClassNameAsIndicator</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#useDescriptorsToValidateInheritedObjects">useDescriptorsToValidateInheritedObjects</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#withAllSubclassesExpression">withAllSubclassesExpression</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== 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="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#InheritancePolicy--">InheritancePolicy</a></span>()</code>
<div class="block">INTERNAL:
Create a new policy.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#InheritancePolicy-org.eclipse.persistence.descriptors.ClassDescriptor-">InheritancePolicy</a></span>(<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;descriptor)</code>
<div class="block">INTERNAL:
Create a new policy.</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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance 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></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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#addChildDescriptor-org.eclipse.persistence.descriptors.ClassDescriptor-">addChildDescriptor</a></span>(<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;childDescriptor)</code>
<div class="block">INTERNAL:
Add child descriptor to the parent descriptor.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#addChildTableJoinExpression-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.expressions.Expression-">addChildTableJoinExpression</a></span>(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table,
<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;expression)</code>
<div class="block">INTERNAL:
childrenTablesJoinExpressions, childrenTables, allTables and childrenJoinExpression
are created simultaneously and kept in sync.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#addChildTableJoinExpressionToAllParents-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.expressions.Expression-">addChildTableJoinExpressionToAllParents</a></span>(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table,
<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;expression)</code>
<div class="block">INTERNAL:
call addChildTableJoinExpression on all parents</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#addClassIndicator-java.lang.Class-java.lang.Object-">addClassIndicator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;childClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;typeValue)</code>
<div class="block">PUBLIC:
Add a class indicator for the root classes subclass.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#addClassIndicatorFieldToInsertRow-org.eclipse.persistence.internal.sessions.AbstractRecord-">addClassIndicatorFieldToInsertRow</a></span>(org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;databaseRow)</code>
<div class="block">INTERNAL:
Add abstract class indicator information to the database row.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#addClassIndicatorFieldToRow-org.eclipse.persistence.internal.sessions.AbstractRecord-">addClassIndicatorFieldToRow</a></span>(org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;databaseRow)</code>
<div class="block">INTERNAL:
Add abstract class indicator information to the database row.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#addClassIndicatorTypeToParent-java.lang.Object-">addClassIndicatorTypeToParent</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;indicator)</code>
<div class="block">INTERNAL:
Post initialize the child descriptors</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#addClassNameIndicator-java.lang.String-java.lang.Object-">addClassNameIndicator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;childClassName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;typeValue)</code>
<div class="block">INTERNAL:
Add the class name reference by class name, used by the MW.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#addFieldsToParent-java.util.Vector-">addFieldsToParent</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;fields)</code>
<div class="block">INTERNAL:
Recursively adds fields to all the parents</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#appendWithAllSubclassesExpression-org.eclipse.persistence.internal.expressions.SQLSelectStatement-">appendWithAllSubclassesExpression</a></span>(org.eclipse.persistence.internal.expressions.SQLSelectStatement&nbsp;selectStatement)</code>
<div class="block">INTERNAL:
Append the branch with all subclasses expression to the statement.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.expressions.SQLSelectStatement</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#buildClassIndicatorSelectStatement-org.eclipse.persistence.queries.ObjectLevelReadQuery-">buildClassIndicatorSelectStatement</a></span>(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelReadQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelReadQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
Return a select statement that will be used to query the class indicators required to query.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.expressions.SQLSelectStatement</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#buildViewSelectStatement-org.eclipse.persistence.queries.ObjectLevelReadQuery-">buildViewSelectStatement</a></span>(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelReadQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelReadQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
Build a select statement for all subclasses on the view using the same
selection criteria as the query.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#classFromRow-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractSession-">classFromRow</a></span>(org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;rowFromDatabase,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL:
This method is invoked only for the abstract descriptors.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#classFromValue-java.lang.Object-org.eclipse.persistence.internal.sessions.AbstractSession-">classFromValue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;classFieldValue,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL:
This method is used to turn the a raw database field value classFieldValue into a Class object.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#clone--">clone</a></span>()</code>
<div class="block">INTERNAL:
Clone the policy</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#convertClassNamesToClasses-java.lang.ClassLoader-">convertClassNamesToClasses</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;classLoader)</code>
<div class="block">INTERNAL:
Convert all the class-name-based settings in this InheritancePolicy to actual class-based settings.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#convertClassNameToClass-java.lang.String-java.lang.ClassLoader-">convertClassNameToClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;classLoader)</code>
<div class="block">INTERNAL:
Convert the given className to an actual class.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#dontReadSubclassesOnQueries--">dontReadSubclassesOnQueries</a></span>()</code>
<div class="block">PUBLIC:
Set the descriptor to only read instance of itself when queried.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#dontUseClassNameAsIndicator--">dontUseClassNameAsIndicator</a></span>()</code>
<div class="block">PUBLIC:
Set the descriptor not to use the class' full name as the indicator.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getAllChildClassIndicators--">getAllChildClassIndicators</a></span>()</code>
<div class="block">INTERNAL:
Stores class indicators for all child and children's children.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getAllChildDescriptors--">getAllChildDescriptors</a></span>()</code>
<div class="block">INTERNAL:
Returns all the child descriptors, even descriptors for subclasses of
subclasses.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getAllChildDescriptors-java.util.List-">getAllChildDescriptors</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;&nbsp;allChildDescriptors)</code>
<div class="block">INTERNAL:
Recursive subroutine of getAllChildDescriptors.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getAllTables--">getAllTables</a></span>()</code>
<div class="block">INTERNAL:
all tables for reference class plus childrenTables</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getChildDescriptors--">getChildDescriptors</a></span>()</code>
<div class="block">INTERNAL:
Return all the immediate child descriptors.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getChildrenJoinExpression--">getChildrenJoinExpression</a></span>()</code>
<div class="block">INTERNAL:
all expressions from childrenTablesJoinExpressions ANDed together</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getChildrenTables--">getChildrenTables</a></span>()</code>
<div class="block">INTERNAL:
if reads subclasses, all tables for all read subclasses (indirect included).</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getChildrenTablesJoinExpressions--">getChildrenTablesJoinExpressions</a></span>()</code>
<div class="block">INTERNAL:
join expression for each child table, keyed by the table</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getClassExtractionMethod--">getClassExtractionMethod</a></span>()</code>
<div class="block">INTERNAL:
Return all the classExtractionMethod</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getClassExtractionMethodName--">getClassExtractionMethodName</a></span>()</code>
<div class="block">ADVANCED:
A class extraction method can be registered with the descriptor to override the default inheritance mechanism.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/descriptors/ClassExtractor.html" title="class in org.eclipse.persistence.descriptors">ClassExtractor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getClassExtractor--">getClassExtractor</a></span>()</code>
<div class="block">ADVANCED:
A class extractor can be registered with the descriptor to override the default inheritance mechanism.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getClassIndicatorAssociations--">getClassIndicatorAssociations</a></span>()</code>
<div class="block">INTERNAL:
Return the class indicator associations for XML.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.helper.DatabaseField</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getClassIndicatorField--">getClassIndicatorField</a></span>()</code>
<div class="block">INTERNAL:
Returns field that the class type indicator is store when using inheritance.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getClassIndicatorFieldName--">getClassIndicatorFieldName</a></span>()</code>
<div class="block">PUBLIC:
Return the class indicator field name.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getClassIndicatorMapping--">getClassIndicatorMapping</a></span>()</code>
<div class="block">INTERNAL:
Return the association of indicators and classes using specified ConversionManager</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getClassIndicatorValue--">getClassIndicatorValue</a></span>()</code>
<div class="block">INTERNAL:
Returns value of the abstract class indicator for the Java class.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getClassIndicatorValue-java.lang.Class-">getClassIndicatorValue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;javaClass)</code>
<div class="block">INTERNAL:
Returns the indicator field value for the given class
If no abstract indicator mapping is specified, use the class name.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getClassNameIndicatorMapping--">getClassNameIndicatorMapping</a></span>()</code>
<div class="block">INTERNAL:
Return the mapping from class name to indicator, used by MW.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getDescribesNonPersistentSubclasses--">getDescribesNonPersistentSubclasses</a></span>()</code>
<div class="block">ADVANCED:
Determines whether the descriptors using this inheritance policy
should be used as descriptors for subclasses of the classes they
describe if those subclasses do not have their own descriptor
e.g.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getDescriptor--">getDescriptor</a></span>()</code>
<div class="block">INTERNAL:
Returns the descriptor which the policy belongs to.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getDescriptor-java.lang.Class-">getDescriptor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;theClass)</code>
<div class="block">INTERNAL:
Returns descriptor corresponding to the class owning the policy or its subclass - otherwise null.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getOnlyInstancesExpression--">getOnlyInstancesExpression</a></span>()</code>
<div class="block">ADVANCED:
Return the 'only instances expression'.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getParentClass--">getParentClass</a></span>()</code>
<div class="block">PUBLIC:
Return the parent class.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getParentClassName--">getParentClassName</a></span>()</code>
<div class="block">INTERNAL:
Return the parent class name.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getParentDescriptor--">getParentDescriptor</a></span>()</code>
<div class="block">INTERNAL:
Return the parent descriptor.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.helper.DatabaseTable</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getReadAllSubclassesView--">getReadAllSubclassesView</a></span>()</code>
<div class="block">INTERNAL:
The view can be used to optimize/customize the query for all subclasses where they have multiple tables.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getReadAllSubclassesViewName--">getReadAllSubclassesViewName</a></span>()</code>
<div class="block">ADVANCED:
The view can be used to optimize/customize the query for all subclasses where they have multiple tables.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getRootParentDescriptor--">getRootParentDescriptor</a></span>()</code>
<div class="block">INTERNAL:
Return the root parent descriptor</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getSubclassDescriptor-java.lang.Class-">getSubclassDescriptor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;theClass)</code>
<div class="block">INTERNAL:
use aggregate in inheritance</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getUseDescriptorsToValidateInheritedObjects--">getUseDescriptorsToValidateInheritedObjects</a></span>()</code>
<div class="block">INTERNAL:
return if we should use the descriptor inheritance to determine
if an object can be returned from the identity map or not.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#getWithAllSubclassesExpression--">getWithAllSubclassesExpression</a></span>()</code>
<div class="block">ADVANCED:
Return the Expression which gets all subclasses.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#hasChildren--">hasChildren</a></span>()</code>
<div class="block">INTERNAL:
Check if descriptor has children</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#hasClassExtractor--">hasClassExtractor</a></span>()</code>
<div class="block">INTERNAL:</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#hasClassIndicator--">hasClassIndicator</a></span>()</code>
<div class="block">INTERNAL:
Checks if the class is involved in inheritance</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#hasMultipleTableChild--">hasMultipleTableChild</a></span>()</code>
<div class="block">INTERNAL:
Return if any children of this descriptor require information from another table
not specified at the parent level.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#hasView--">hasView</a></span>()</code>
<div class="block">INTERNAL:
Return if a view is used for inheritance reads.</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#initialize-org.eclipse.persistence.internal.sessions.AbstractSession-">initialize</a></span>(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL:
Initialize the inheritance properties of the descriptor once the mappings are initialized.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#initializeCacheInvalidationPolicy--">initializeCacheInvalidationPolicy</a></span>()</code>
<div class="block">INTERNAL:
Potentially override the cache invalidation behavior</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#initializeClassExtractor-org.eclipse.persistence.internal.sessions.AbstractSession-">initializeClassExtractor</a></span>(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL:
Setup the default classExtractionMethod, or if one was specified by the user make sure it is valid.</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#initializeOnlyInstancesExpression--">initializeOnlyInstancesExpression</a></span>()</code>
<div class="block">INTERNAL:
Initialize the expression to use to check the specific type field.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#initializeOptimisticLocking--">initializeOptimisticLocking</a></span>()</code>
<div class="block">INTERNAL:
Potentially override the optimistic locking behavior</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#initializeWithAllSubclassesExpression--">initializeWithAllSubclassesExpression</a></span>()</code>
<div class="block">INTERNAL:
Initialize the expression to use for queries to the class and its subclasses.</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#isChildDescriptor--">isChildDescriptor</a></span>()</code>
<div class="block">INTERNAL:
Check if it is a child descriptor.</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#isJoinedStrategy--">isJoinedStrategy</a></span>()</code>
<div class="block">INTERNAL:
Indicate whether a single table or joined inheritance strategy is being used.</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#isRootParentDescriptor--">isRootParentDescriptor</a></span>()</code>
<div class="block">INTERNAL:
Return whether or not is root parent descriptor</div>
</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#postInitialize-org.eclipse.persistence.internal.sessions.AbstractSession-">postInitialize</a></span>(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL:
Initialized the inheritance properties that cannot be initialized
until after the mappings have been.</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#preInitialize-org.eclipse.persistence.internal.sessions.AbstractSession-">preInitialize</a></span>(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL:
Allow the inheritance properties of the descriptor to be initialized.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#readSubclassesOnQueries--">readSubclassesOnQueries</a></span>()</code>
<div class="block">PUBLIC:
Set the descriptor to read instance of itself and its subclasses when queried.</div>
</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#remoteInitialization-org.eclipse.persistence.sessions.remote.DistributedSession-">remoteInitialization</a></span>(<a href="../../../../org/eclipse/persistence/sessions/remote/DistributedSession.html" title="class in org.eclipse.persistence.sessions.remote">DistributedSession</a>&nbsp;session)</code>
<div class="block">INTERNAL:
Used to initialize a remote descriptor.</div>
</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#removeChildren-org.eclipse.persistence.descriptors.ClassDescriptor-java.util.Set-java.util.Set-">removeChildren</a></span>(<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;descriptor,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&gt;&nbsp;classes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&gt;&nbsp;subclasses)</code>
<div class="block">Remove all of the subclasses (and so on) from the set of classes.</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#requiresMultipleTableSubclassRead--">requiresMultipleTableSubclassRead</a></span>()</code>
<div class="block">INTERNAL:
Return if this descriptor has children that define additional tables and needs to read them.</div>
</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#selectAllRowUsingCustomMultipleTableSubclassRead-org.eclipse.persistence.queries.ObjectLevelReadQuery-">selectAllRowUsingCustomMultipleTableSubclassRead</a></span>(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelReadQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelReadQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
Select all rows from a abstract table descriptor.</div>
</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#selectAllRowUsingDefaultMultipleTableSubclassRead-org.eclipse.persistence.queries.ObjectLevelReadQuery-">selectAllRowUsingDefaultMultipleTableSubclassRead</a></span>(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelReadQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelReadQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
Select all rows from a abstract table descriptor.</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#selectAllRowUsingMultipleTableSubclassRead-org.eclipse.persistence.queries.ObjectLevelReadQuery-">selectAllRowUsingMultipleTableSubclassRead</a></span>(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelReadQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelReadQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
Select all rows from a abstract table descriptor.</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code>protected org.eclipse.persistence.internal.sessions.AbstractRecord</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#selectOneRowUsingCustomMultipleTableSubclassRead-org.eclipse.persistence.queries.ReadObjectQuery-">selectOneRowUsingCustomMultipleTableSubclassRead</a></span>(<a href="../../../../org/eclipse/persistence/queries/ReadObjectQuery.html" title="class in org.eclipse.persistence.queries">ReadObjectQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
Select one rows from a abstract table descriptor.</div>
</td>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><code>protected org.eclipse.persistence.internal.sessions.AbstractRecord</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#selectOneRowUsingDefaultMultipleTableSubclassRead-org.eclipse.persistence.queries.ReadObjectQuery-">selectOneRowUsingDefaultMultipleTableSubclassRead</a></span>(<a href="../../../../org/eclipse/persistence/queries/ReadObjectQuery.html" title="class in org.eclipse.persistence.queries">ReadObjectQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
Select one row of any concrete subclass,
This must use two selects, the first retrieves the type field only.</div>
</td>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.sessions.AbstractRecord</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#selectOneRowUsingMultipleTableSubclassRead-org.eclipse.persistence.queries.ReadObjectQuery-">selectOneRowUsingMultipleTableSubclassRead</a></span>(<a href="../../../../org/eclipse/persistence/queries/ReadObjectQuery.html" title="class in org.eclipse.persistence.queries">ReadObjectQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
Select one row of any concrete subclass,
This must use two selects, the first retrieves the type field only.</div>
</td>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setAllChildClassIndicators-java.util.Vector-">setAllChildClassIndicators</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;allChildClassIndicators)</code>
<div class="block">INTERNAL:</div>
</td>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setAlwaysUseOuterJoinForClassType-boolean-">setAlwaysUseOuterJoinForClassType</a></span>(boolean&nbsp;choice)</code>
<div class="block">PUBLIC:
Sets the inheritance policy to always use an outer join when querying across a relationship of class.</div>
</td>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setChildDescriptors-java.util.List-">setChildDescriptors</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;&nbsp;childDescriptors)</code>
<div class="block">INTERNAL:</div>
</td>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setClassExtractionMethodName-java.lang.String-">setClassExtractionMethodName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;staticClassClassExtractionMethod)</code>
<div class="block">ADVANCED:
A class extraction method can be registered with the descriptor to override the default inheritance mechanism.</div>
</td>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setClassExtractor-org.eclipse.persistence.descriptors.ClassExtractor-">setClassExtractor</a></span>(<a href="../../../../org/eclipse/persistence/descriptors/ClassExtractor.html" title="class in org.eclipse.persistence.descriptors">ClassExtractor</a>&nbsp;classExtractor)</code>
<div class="block">ADVANCED:
A class extractor can be registered with the descriptor to override the default inheritance mechanism.</div>
</td>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setClassExtractorName-java.lang.String-">setClassExtractorName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classExtractorName)</code>
<div class="block">ADVANCED:
Set the class extractor class name.</div>
</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setClassIndicatorAssociations-java.util.Vector-">setClassIndicatorAssociations</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;classIndicatorAssociations)</code>
<div class="block">INTERNAL:
Set the class indicator associations from reading the deployment XML.</div>
</td>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setClassIndicatorField-org.eclipse.persistence.internal.helper.DatabaseField-">setClassIndicatorField</a></span>(org.eclipse.persistence.internal.helper.DatabaseField&nbsp;classIndicatorField)</code>
<div class="block">ADVANCED:
To set the class indicator field.</div>
</td>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setClassIndicatorFieldName-java.lang.String-">setClassIndicatorFieldName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fieldName)</code>
<div class="block">PUBLIC:
To set the class indicator field name.</div>
</td>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setClassIndicatorMapping-java.util.Map-">setClassIndicatorMapping</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;classIndicatorMapping)</code>
<div class="block">PUBLIC:
Set the association of indicators and classes.</div>
</td>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setClassNameIndicatorMapping-java.util.Map-">setClassNameIndicatorMapping</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;classNameIndicatorMapping)</code>
<div class="block">INTERNAL:
Set the class name indicator mapping, used by the MW.</div>
</td>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setDescribesNonPersistentSubclasses-boolean-">setDescribesNonPersistentSubclasses</a></span>(boolean&nbsp;describesNonPersistentSubclasses)</code>
<div class="block">ADVANCED:
Determines whether the descriptors using this inheritance policy
should be used as descriptors for subclasses of the classes they
describe if those subclasses do not have their own descriptor
e.g.</div>
</td>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setDescriptor-org.eclipse.persistence.descriptors.ClassDescriptor-">setDescriptor</a></span>(<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;descriptor)</code>
<div class="block">INTERNAL:
Set the descriptor.</div>
</td>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setJoinedStrategy--">setJoinedStrategy</a></span>()</code>
<div class="block">INTERNAL:
Used to indicate a JOINED inheritance strategy.</div>
</td>
</tr>
<tr id="i90" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setOnlyInstancesExpression-org.eclipse.persistence.expressions.Expression-">setOnlyInstancesExpression</a></span>(<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;onlyInstancesExpression)</code>
<div class="block">ADVANCED:
Sets the expression used to select instance of the class only.</div>
</td>
</tr>
<tr id="i91" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setParentClass-java.lang.Class-">setParentClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;parentClass)</code>
<div class="block">PUBLIC:
Set the parent class.</div>
</td>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setParentClassName-java.lang.String-">setParentClassName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;parentClassName)</code>
<div class="block">INTERNAL:
Set the parent class name, used by MW to avoid referencing the real class for
deployment XML generation.</div>
</td>
</tr>
<tr id="i93" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setParentDescriptor-org.eclipse.persistence.descriptors.ClassDescriptor-">setParentDescriptor</a></span>(<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;parentDescriptor)</code>
<div class="block">INTERNAL:</div>
</td>
</tr>
<tr id="i94" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setReadAllSubclassesView-org.eclipse.persistence.internal.helper.DatabaseTable-">setReadAllSubclassesView</a></span>(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;readAllSubclassesView)</code>
<div class="block">INTERNAL:
The view can be used to optimize/customize the query for all subclasses where they have multiple tables.</div>
</td>
</tr>
<tr id="i95" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setReadAllSubclassesViewName-java.lang.String-">setReadAllSubclassesViewName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;readAllSubclassesViewName)</code>
<div class="block">ADVANCED:
The view can be used to optimize/customize the query for all subclasses where they have multiple tables.</div>
</td>
</tr>
<tr id="i96" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setShouldOuterJoinSubclasses-boolean-">setShouldOuterJoinSubclasses</a></span>(boolean&nbsp;shouldOuterJoinSubclasses)</code>
<div class="block">PUBLIC:
Set if an outer join should be used to read subclasses.</div>
</td>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setShouldReadSubclasses-boolean-">setShouldReadSubclasses</a></span>(boolean&nbsp;shouldReadSubclasses)</code>
<div class="block">PUBLIC:
Set the descriptor to read instance of itself and its subclasses when queried.</div>
</td>
</tr>
<tr id="i98" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setShouldReadSubclasses-java.lang.Boolean-">setShouldReadSubclasses</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;shouldReadSubclasses)</code>
<div class="block">INTERNAL:
Set the descriptor to read instance of itself and its subclasses when queried.</div>
</td>
</tr>
<tr id="i99" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setShouldUseClassNameAsIndicator-boolean-">setShouldUseClassNameAsIndicator</a></span>(boolean&nbsp;shouldUseClassNameAsIndicator)</code>
<div class="block">PUBLIC:
Set if the descriptor uses the classes fully qualified name as the indicator.</div>
</td>
</tr>
<tr id="i100" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setSingleTableStrategy--">setSingleTableStrategy</a></span>()</code>
<div class="block">INTERNAL:
Used to indicate a SINGLE_TABLE inheritance strategy.</div>
</td>
</tr>
<tr id="i101" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setUseDescriptorsToValidateInheritedObjects-boolean-">setUseDescriptorsToValidateInheritedObjects</a></span>(boolean&nbsp;useDescriptorsToValidateInheritedObjects)</code>
<div class="block">INTERNAL:
Sets if we should use the descriptor inheritance to determine
if an object can be returned from the identity map or not.</div>
</td>
</tr>
<tr id="i102" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setWithAllSubclassesExpression-org.eclipse.persistence.expressions.Expression-">setWithAllSubclassesExpression</a></span>(<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;withAllSubclassesExpression)</code>
<div class="block">ADVANCED:
Sets the expression to be used for querying for a class and all its subclasses.</div>
</td>
</tr>
<tr id="i103" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#shouldAlwaysUseOuterJoin--">shouldAlwaysUseOuterJoin</a></span>()</code>
<div class="block">PUBLIC:
returns if the inheritance policy will always use an outerjoin when selecting class type</div>
</td>
</tr>
<tr id="i104" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#shouldOuterJoinSubclasses--">shouldOuterJoinSubclasses</a></span>()</code>
<div class="block">PUBLIC:
Return if an outer join should be used to read subclasses.</div>
</td>
</tr>
<tr id="i105" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#shouldReadSubclasses--">shouldReadSubclasses</a></span>()</code>
<div class="block">PUBLIC:
Return true if this descriptor should read instances of itself and subclasses on queries.</div>
</td>
</tr>
<tr id="i106" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#shouldReadSubclassesValue--">shouldReadSubclassesValue</a></span>()</code>
<div class="block">INTERNAL:
Return true if this descriptor should read instances of itself and subclasses on queries.</div>
</td>
</tr>
<tr id="i107" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#shouldUseClassNameAsIndicator--">shouldUseClassNameAsIndicator</a></span>()</code>
<div class="block">PUBLIC:
Return true if the descriptor use the classes full name as the indicator.</div>
</td>
</tr>
<tr id="i108" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#toString--">toString</a></span>()</code>
<div class="block">INTERNAL:</div>
</td>
</tr>
<tr id="i109" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#updateTables--">updateTables</a></span>()</code>
<div class="block">INTERNAL:
set the tables on the child descriptor
overridden in org.eclipse.persistence.internal.oxm.QNameInheritancePolicy</div>
</td>
</tr>
<tr id="i110" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#useClassNameAsIndicator--">useClassNameAsIndicator</a></span>()</code>
<div class="block">PUBLIC:
Set the descriptor to use the classes full name as the indicator.</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="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" 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="parentClass">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parentClass</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a> parentClass</pre>
</li>
</ul>
<a name="parentClassName">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parentClassName</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> parentClassName</pre>
</li>
</ul>
<a name="parentDescriptor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parentDescriptor</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a> parentDescriptor</pre>
</li>
</ul>
<a name="childDescriptors">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>childDescriptors</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt; childDescriptors</pre>
</li>
</ul>
<a name="classIndicatorField">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>classIndicatorField</h4>
<pre>protected&nbsp;org.eclipse.persistence.internal.helper.DatabaseField classIndicatorField</pre>
</li>
</ul>
<a name="classIndicatorMapping">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>classIndicatorMapping</h4>
<pre>protected transient&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a> classIndicatorMapping</pre>
</li>
</ul>
<a name="classNameIndicatorMapping">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>classNameIndicatorMapping</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a> classNameIndicatorMapping</pre>
</li>
</ul>
<a name="shouldUseClassNameAsIndicator">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldUseClassNameAsIndicator</h4>
<pre>protected transient&nbsp;boolean shouldUseClassNameAsIndicator</pre>
</li>
</ul>
<a name="shouldReadSubclasses">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldReadSubclasses</h4>
<pre>protected transient&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> shouldReadSubclasses</pre>
</li>
</ul>
<a name="readAllSubclassesView">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readAllSubclassesView</h4>
<pre>protected&nbsp;org.eclipse.persistence.internal.helper.DatabaseTable readAllSubclassesView</pre>
</li>
</ul>
<a name="allChildClassIndicators">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allChildClassIndicators</h4>
<pre>protected transient&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt; allChildClassIndicators</pre>
</li>
</ul>
<a name="onlyInstancesExpression">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onlyInstancesExpression</h4>
<pre>protected transient&nbsp;<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a> onlyInstancesExpression</pre>
</li>
</ul>
<a name="withAllSubclassesExpression">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withAllSubclassesExpression</h4>
<pre>protected transient&nbsp;<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a> withAllSubclassesExpression</pre>
</li>
</ul>
<a name="allTables">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allTables</h4>
<pre>protected transient&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a> allTables</pre>
</li>
</ul>
<a name="childrenTables">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>childrenTables</h4>
<pre>protected transient&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable&gt; childrenTables</pre>
</li>
</ul>
<a name="childrenTablesJoinExpressions">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>childrenTablesJoinExpressions</h4>
<pre>protected transient&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&gt; childrenTablesJoinExpressions</pre>
</li>
</ul>
<a name="childrenJoinExpression">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>childrenJoinExpression</h4>
<pre>protected transient&nbsp;<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a> childrenJoinExpression</pre>
</li>
</ul>
<a name="classExtractorName">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>classExtractorName</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> classExtractorName</pre>
<div class="block">Allow for class extraction method to be specified.</div>
</li>
</ul>
<a name="classExtractor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>classExtractor</h4>
<pre>protected transient&nbsp;<a href="../../../../org/eclipse/persistence/descriptors/ClassExtractor.html" title="class in org.eclipse.persistence.descriptors">ClassExtractor</a> classExtractor</pre>
</li>
</ul>
<a name="descriptor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>descriptor</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a> descriptor</pre>
</li>
</ul>
<a name="shouldAlwaysUseOuterJoin">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldAlwaysUseOuterJoin</h4>
<pre>protected&nbsp;boolean shouldAlwaysUseOuterJoin</pre>
</li>
</ul>
<a name="useDescriptorsToValidateInheritedObjects">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useDescriptorsToValidateInheritedObjects</h4>
<pre>protected&nbsp;boolean useDescriptorsToValidateInheritedObjects</pre>
</li>
</ul>
<a name="shouldOuterJoinSubclasses">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldOuterJoinSubclasses</h4>
<pre>protected&nbsp;boolean shouldOuterJoinSubclasses</pre>
<div class="block">Define if an outer join should be used to read subclasses.</div>
</li>
</ul>
<a name="isJoinedStrategy">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isJoinedStrategy</h4>
<pre>protected&nbsp;boolean isJoinedStrategy</pre>
</li>
</ul>
<a name="rootParentDescriptor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rootParentDescriptor</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a> rootParentDescriptor</pre>
<div class="block">PERF: Cache root descriptor.</div>
</li>
</ul>
<a name="describesNonPersistentSubclasses">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>describesNonPersistentSubclasses</h4>
<pre>protected&nbsp;boolean describesNonPersistentSubclasses</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="InheritancePolicy--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>InheritancePolicy</h4>
<pre>public&nbsp;InheritancePolicy()</pre>
<div class="block">INTERNAL:
Create a new policy.
Only descriptors involved in inheritance should have a policy.</div>
</li>
</ul>
<a name="InheritancePolicy-org.eclipse.persistence.descriptors.ClassDescriptor-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>InheritancePolicy</h4>
<pre>public&nbsp;InheritancePolicy(<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;descriptor)</pre>
<div class="block">INTERNAL:
Create a new policy.
Only descriptors involved in inheritance should have a policy.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="addChildDescriptor-org.eclipse.persistence.descriptors.ClassDescriptor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addChildDescriptor</h4>
<pre>public&nbsp;void&nbsp;addChildDescriptor(<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;childDescriptor)</pre>
<div class="block">INTERNAL:
Add child descriptor to the parent descriptor.</div>
</li>
</ul>
<a name="addChildTableJoinExpression-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.expressions.Expression-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addChildTableJoinExpression</h4>
<pre>protected&nbsp;void&nbsp;addChildTableJoinExpression(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table,
<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;expression)</pre>
<div class="block">INTERNAL:
childrenTablesJoinExpressions, childrenTables, allTables and childrenJoinExpression
are created simultaneously and kept in sync.</div>
</li>
</ul>
<a name="addChildTableJoinExpressionToAllParents-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.expressions.Expression-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addChildTableJoinExpressionToAllParents</h4>
<pre>public&nbsp;void&nbsp;addChildTableJoinExpressionToAllParents(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table,
<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;expression)</pre>
<div class="block">INTERNAL:
call addChildTableJoinExpression on all parents</div>
</li>
</ul>
<a name="addClassIndicator-java.lang.Class-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addClassIndicator</h4>
<pre>public&nbsp;void&nbsp;addClassIndicator(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;childClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;typeValue)</pre>
<div class="block">PUBLIC:
Add a class indicator for the root classes subclass.
The indicator is used to determine the class to use for a row read from the database,
and to query only instances of a class from the database.
Every concrete persistent subclass must have a single unique indicator defined for it.
If the root class is concrete then it must also define an indicator.
Only the root class's descriptor of the entire inheritance hierarchy can define the class indicator mapping.</div>
</li>
</ul>
<a name="addClassNameIndicator-java.lang.String-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addClassNameIndicator</h4>
<pre>public&nbsp;void&nbsp;addClassNameIndicator(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;childClassName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;typeValue)</pre>
<div class="block">INTERNAL:
Add the class name reference by class name, used by the MW.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#addClassNameIndicator-java.lang.String-java.lang.Object-">addClassNameIndicator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="addClassIndicatorFieldToInsertRow-org.eclipse.persistence.internal.sessions.AbstractRecord-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addClassIndicatorFieldToInsertRow</h4>
<pre>public&nbsp;void&nbsp;addClassIndicatorFieldToInsertRow(org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;databaseRow)</pre>
<div class="block">INTERNAL:
Add abstract class indicator information to the database row. This is
required when building a row for an insert or an update of a concrete child
descriptor.
This is only used to build a template row.</div>
</li>
</ul>
<a name="addClassIndicatorFieldToRow-org.eclipse.persistence.internal.sessions.AbstractRecord-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addClassIndicatorFieldToRow</h4>
<pre>public&nbsp;void&nbsp;addClassIndicatorFieldToRow(org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;databaseRow)</pre>
<div class="block">INTERNAL:
Add abstract class indicator information to the database row. This is
required when building a row for an insert or an update of a concrete child
descriptor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#addClassIndicatorFieldToRow-ABSTRACT_RECORD-">addClassIndicatorFieldToRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="addClassIndicatorTypeToParent-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addClassIndicatorTypeToParent</h4>
<pre>protected&nbsp;void&nbsp;addClassIndicatorTypeToParent(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;indicator)</pre>
<div class="block">INTERNAL:
Post initialize the child descriptors</div>
</li>
</ul>
<a name="addFieldsToParent-java.util.Vector-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addFieldsToParent</h4>
<pre>protected&nbsp;void&nbsp;addFieldsToParent(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;fields)</pre>
<div class="block">INTERNAL:
Recursively adds fields to all the parents</div>
</li>
</ul>
<a name="buildClassIndicatorSelectStatement-org.eclipse.persistence.queries.ObjectLevelReadQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildClassIndicatorSelectStatement</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.expressions.SQLSelectStatement&nbsp;buildClassIndicatorSelectStatement(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelReadQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelReadQuery</a>&nbsp;query)</pre>
<div class="block">INTERNAL:
Return a select statement that will be used to query the class indicators required to query.
This is used in the abstract-multiple read.</div>
</li>
</ul>
<a name="appendWithAllSubclassesExpression-org.eclipse.persistence.internal.expressions.SQLSelectStatement-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendWithAllSubclassesExpression</h4>
<pre>public&nbsp;void&nbsp;appendWithAllSubclassesExpression(org.eclipse.persistence.internal.expressions.SQLSelectStatement&nbsp;selectStatement)</pre>
<div class="block">INTERNAL:
Append the branch with all subclasses expression to the statement.</div>
</li>
</ul>
<a name="buildViewSelectStatement-org.eclipse.persistence.queries.ObjectLevelReadQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildViewSelectStatement</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.expressions.SQLSelectStatement&nbsp;buildViewSelectStatement(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelReadQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelReadQuery</a>&nbsp;query)</pre>
<div class="block">INTERNAL:
Build a select statement for all subclasses on the view using the same
selection criteria as the query.</div>
</li>
</ul>
<a name="classFromRow-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>classFromRow</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;classFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;rowFromDatabase,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)
throws <a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></pre>
<div class="block">INTERNAL:
This method is invoked only for the abstract descriptors.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#classFromRow-ABSTRACT_RECORD-ABSTRACT_SESSION-">classFromRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></code></dd>
</dl>
</li>
</ul>
<a name="classFromValue-java.lang.Object-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>classFromValue</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;classFromValue(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;classFieldValue,
org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)
throws <a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></pre>
<div class="block">INTERNAL:
This method is used to turn the a raw database field value classFieldValue into a Class object. Used to determine
which class objects to build from database results, and for class type expression</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></code></dd>
</dl>
</li>
</ul>
<a name="clone--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clone</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;clone()</pre>
<div class="block">INTERNAL:
Clone the policy</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="convertClassNamesToClasses-java.lang.ClassLoader-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertClassNamesToClasses</h4>
<pre>public&nbsp;void&nbsp;convertClassNamesToClasses(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;classLoader)</pre>
<div class="block">INTERNAL:
Convert all the class-name-based settings in this InheritancePolicy to actual class-based settings.
This method is used when converting a project that has been built with class names to a project with classes.
It will also convert referenced classes to the versions of the classes from the classLoader.</div>
</li>
</ul>
<a name="convertClassNameToClass-java.lang.String-java.lang.ClassLoader-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertClassNameToClass</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;convertClassNameToClass(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;classLoader)</pre>
<div class="block">INTERNAL:
Convert the given className to an actual class.</div>
</li>
</ul>
<a name="dontReadSubclassesOnQueries--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dontReadSubclassesOnQueries</h4>
<pre>public&nbsp;void&nbsp;dontReadSubclassesOnQueries()</pre>
<div class="block">PUBLIC:
Set the descriptor to only read instance of itself when queried.
This is used with inheritance to configure the result of queries.
By default this is true for root inheritance descriptors, and false for all others.</div>
</li>
</ul>
<a name="dontUseClassNameAsIndicator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dontUseClassNameAsIndicator</h4>
<pre>public&nbsp;void&nbsp;dontUseClassNameAsIndicator()</pre>
<div class="block">PUBLIC:
Set the descriptor not to use the class' full name as the indicator.
The class indicator is used with inheritance to determine the class from a row.
By default a class indicator mapping is required, this can be set to true if usage of the class name is desired.
The field must be of a large enough size to store the fully qualified class name.</div>
</li>
</ul>
<a name="getAllChildClassIndicators--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllChildClassIndicators</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;getAllChildClassIndicators()</pre>
<div class="block">INTERNAL:
Stores class indicators for all child and children's children.
Used for queries on branch classes only.</div>
</li>
</ul>
<a name="getAllChildDescriptors--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllChildDescriptors</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;&nbsp;getAllChildDescriptors()</pre>
<div class="block">INTERNAL:
Returns all the child descriptors, even descriptors for subclasses of
subclasses.
Required for bug 3019934.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#getAllChildDescriptors--">getAllChildDescriptors</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getAllChildDescriptors-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllChildDescriptors</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;&nbsp;getAllChildDescriptors(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;&nbsp;allChildDescriptors)</pre>
<div class="block">INTERNAL:
Recursive subroutine of getAllChildDescriptors.</div>
</li>
</ul>
<a name="getChildrenTables--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildrenTables</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable&gt;&nbsp;getChildrenTables()</pre>
<div class="block">INTERNAL:
if reads subclasses, all tables for all read subclasses (indirect included).</div>
</li>
</ul>
<a name="getChildrenTablesJoinExpressions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildrenTablesJoinExpressions</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&gt;&nbsp;getChildrenTablesJoinExpressions()</pre>
<div class="block">INTERNAL:
join expression for each child table, keyed by the table</div>
</li>
</ul>
<a name="getChildrenJoinExpression--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildrenJoinExpression</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;getChildrenJoinExpression()</pre>
<div class="block">INTERNAL:
all expressions from childrenTablesJoinExpressions ANDed together</div>
</li>
</ul>
<a name="getAllTables--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllTables</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;getAllTables()</pre>
<div class="block">INTERNAL:
all tables for reference class plus childrenTables</div>
</li>
</ul>
<a name="getChildDescriptors--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildDescriptors</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;&nbsp;getChildDescriptors()</pre>
<div class="block">INTERNAL:
Return all the immediate child descriptors. Only descriptors from
direct subclasses are returned.</div>
</li>
</ul>
<a name="getClassExtractionMethod--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassExtractionMethod</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;getClassExtractionMethod()</pre>
<div class="block">INTERNAL:
Return all the classExtractionMethod</div>
</li>
</ul>
<a name="getClassExtractionMethodName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassExtractionMethodName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClassExtractionMethodName()</pre>
<div class="block">ADVANCED:
A class extraction method can be registered with the descriptor to override the default inheritance mechanism.
This allows for a user defined class indicator in place of providing an explicit class indicator field.
The method registered must be a static method on the class which has that descriptor. The method must take a
Record as an argument (for example, a DatabaseRecord), and must return the class to use for that record.
This method will be used to decide which class to instantiate when reading from the database.
It is the application's responsibility to populate any typing information in the database required
to determine the class from the record.
If this method is used, then the class indicator field and mapping cannot be used, and in addition,
the descriptor's withAllSubclasses and onlyInstances expressions must also be setup correctly.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setWithAllSubclassesExpression-org.eclipse.persistence.expressions.Expression-"><code>setWithAllSubclassesExpression(Expression)</code></a>,
<a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setOnlyInstancesExpression-org.eclipse.persistence.expressions.Expression-"><code>setOnlyInstancesExpression(Expression)</code></a></dd>
</dl>
</li>
</ul>
<a name="getClassExtractor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassExtractor</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/descriptors/ClassExtractor.html" title="class in org.eclipse.persistence.descriptors">ClassExtractor</a>&nbsp;getClassExtractor()</pre>
<div class="block">ADVANCED:
A class extractor can be registered with the descriptor to override the default inheritance mechanism.
This allows for a user defined class indicator in place of providing an explicit class indicator field.
The instance registered must extend the ClassExtractor class and implement the extractClass(Map) method.
The method must take database row (a Record/Map) as an argument and must return the class to use for that row.
This method will be used to decide which class to instantiate when reading from the database.
It is the application's responsibility to populate any typing information in the database required
to determine the class from the row, such as usage of a direct or transformation mapping for the type fields.
If this method is used then the class indicator field and mapping cannot be used, and in addition,
the descriptor's withAllSubclasses and onlyInstances expressions must also be setup correctly.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setWithAllSubclassesExpression-org.eclipse.persistence.expressions.Expression-"><code>setWithAllSubclassesExpression(Expression)</code></a>,
<a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setOnlyInstancesExpression-org.eclipse.persistence.expressions.Expression-"><code>setOnlyInstancesExpression(Expression)</code></a></dd>
</dl>
</li>
</ul>
<a name="setClassExtractor-org.eclipse.persistence.descriptors.ClassExtractor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassExtractor</h4>
<pre>public&nbsp;void&nbsp;setClassExtractor(<a href="../../../../org/eclipse/persistence/descriptors/ClassExtractor.html" title="class in org.eclipse.persistence.descriptors">ClassExtractor</a>&nbsp;classExtractor)</pre>
<div class="block">ADVANCED:
A class extractor can be registered with the descriptor to override the default inheritance mechanism.
This allows for a user defined class indicator in place of providing an explicit class indicator field.
The instance registered must extend the ClassExtractor class and implement the extractClass(Map) method.
The method must take database row (a Record/Map) as an argument and must return the class to use for that row.
This method will be used to decide which class to instantiate when reading from the database.
It is the application's responsibility to populate any typing information in the database required
to determine the class from the row, such as usage of a direct or transformation mapping for the type fields.
If this method is used then the class indicator field and mapping cannot be used, and in addition,
the descriptor's withAllSubclasses and onlyInstances expressions must also be setup correctly.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setWithAllSubclassesExpression-org.eclipse.persistence.expressions.Expression-"><code>setWithAllSubclassesExpression(Expression)</code></a>,
<a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setOnlyInstancesExpression-org.eclipse.persistence.expressions.Expression-"><code>setOnlyInstancesExpression(Expression)</code></a></dd>
</dl>
</li>
</ul>
<a name="setClassExtractorName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassExtractorName</h4>
<pre>public&nbsp;void&nbsp;setClassExtractorName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classExtractorName)</pre>
<div class="block">ADVANCED:
Set the class extractor class name. At descriptor initialize time this
class will be converted to a Class and set as the ClassExtractor. This
method is called from JPA.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#setClassExtractorName-java.lang.String-">setClassExtractorName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setClassExtractor-org.eclipse.persistence.descriptors.ClassExtractor-"><code>setClassExtractor for more information on the ClassExtractor class.</code></a></dd>
</dl>
</li>
</ul>
<a name="getClassIndicatorAssociations--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassIndicatorAssociations</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;getClassIndicatorAssociations()</pre>
<div class="block">INTERNAL:
Return the class indicator associations for XML.
List of class-name/value associations.</div>
</li>
</ul>
<a name="getClassIndicatorField--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassIndicatorField</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.helper.DatabaseField&nbsp;getClassIndicatorField()</pre>
<div class="block">INTERNAL:
Returns field that the class type indicator is store when using inheritance.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#getClassIndicatorField--">getClassIndicatorField</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getClassIndicatorFieldName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassIndicatorFieldName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClassIndicatorFieldName()</pre>
<div class="block">PUBLIC:
Return the class indicator field name.
This is the name of the field in the table that stores what type of object this is.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#getClassIndicatorFieldName--">getClassIndicatorFieldName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getClassIndicatorMapping--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassIndicatorMapping</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;getClassIndicatorMapping()</pre>
<div class="block">INTERNAL:
Return the association of indicators and classes using specified ConversionManager</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#getClassIndicatorMapping--">getClassIndicatorMapping</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getClassNameIndicatorMapping--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassNameIndicatorMapping</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;getClassNameIndicatorMapping()</pre>
<div class="block">INTERNAL:
Return the mapping from class name to indicator, used by MW.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#getClassNameIndicatorMapping--">getClassNameIndicatorMapping</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getClassIndicatorValue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassIndicatorValue</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getClassIndicatorValue()</pre>
<div class="block">INTERNAL:
Returns value of the abstract class indicator for the Java class.</div>
</li>
</ul>
<a name="getClassIndicatorValue-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassIndicatorValue</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getClassIndicatorValue(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;javaClass)</pre>
<div class="block">INTERNAL:
Returns the indicator field value for the given class
If no abstract indicator mapping is specified, use the class name.</div>
</li>
</ul>
<a name="getDescriptor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescriptor</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;getDescriptor()</pre>
<div class="block">INTERNAL:
Returns the descriptor which the policy belongs to.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#getDescriptor--">getDescriptor</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getDescribesNonPersistentSubclasses--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescribesNonPersistentSubclasses</h4>
<pre>public&nbsp;boolean&nbsp;getDescribesNonPersistentSubclasses()</pre>
<div class="block">ADVANCED:
Determines whether the descriptors using this inheritance policy
should be used as descriptors for subclasses of the classes they
describe if those subclasses do not have their own descriptor
e.g. If Employee.class has a descriptor and EmployeeSubClass does
not have a descriptor, if describesNonPersistenceSubclasses is true
Employee's descriptor will be used as the descriptor for Employee</div>
</li>
</ul>
<a name="getOnlyInstancesExpression--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOnlyInstancesExpression</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;getOnlyInstancesExpression()</pre>
<div class="block">ADVANCED:
Return the 'only instances expression'.</div>
</li>
</ul>
<a name="getParentClass--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParentClass</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;getParentClass()</pre>
<div class="block">PUBLIC:
Return the parent class.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#getParentClass--">getParentClass</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getParentClassName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParentClassName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getParentClassName()</pre>
<div class="block">INTERNAL:
Return the parent class name.</div>
</li>
</ul>
<a name="getParentDescriptor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParentDescriptor</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;getParentDescriptor()</pre>
<div class="block">INTERNAL:
Return the parent descriptor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#getParentDescriptor--">getParentDescriptor</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getReadAllSubclassesView--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadAllSubclassesView</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;getReadAllSubclassesView()</pre>
<div class="block">INTERNAL:
The view can be used to optimize/customize the query for all subclasses where they have multiple tables.
This view can do the outer join, we require the view because we cannot generate dynamic platform independent SQL
for outer joins (i.e. not possible to do so either).</div>
</li>
</ul>
<a name="getReadAllSubclassesViewName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadAllSubclassesViewName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getReadAllSubclassesViewName()</pre>
<div class="block">ADVANCED:
The view can be used to optimize/customize the query for all subclasses where they have multiple tables.
This view can use outer joins or unions to combine the results of selecting from all of the subclass tables.
If a view is not given then TopLink must make an individual call for each subclass.</div>
</li>
</ul>
<a name="getRootParentDescriptor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootParentDescriptor</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;getRootParentDescriptor()</pre>
<div class="block">INTERNAL:
Return the root parent descriptor</div>
</li>
</ul>
<a name="getSubclassDescriptor-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSubclassDescriptor</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;getSubclassDescriptor(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;theClass)</pre>
<div class="block">INTERNAL:
use aggregate in inheritance</div>
</li>
</ul>
<a name="getDescriptor-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescriptor</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;getDescriptor(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;theClass)</pre>
<div class="block">INTERNAL:
Returns descriptor corresponding to the class owning the policy or its subclass - otherwise null.</div>
</li>
</ul>
<a name="getUseDescriptorsToValidateInheritedObjects--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUseDescriptorsToValidateInheritedObjects</h4>
<pre>public&nbsp;boolean&nbsp;getUseDescriptorsToValidateInheritedObjects()</pre>
<div class="block">INTERNAL:
return if we should use the descriptor inheritance to determine
if an object can be returned from the identity map or not.</div>
</li>
</ul>
<a name="getWithAllSubclassesExpression--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWithAllSubclassesExpression</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;getWithAllSubclassesExpression()</pre>
<div class="block">ADVANCED:
Return the Expression which gets all subclasses.</div>
</li>
</ul>
<a name="hasChildren--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasChildren</h4>
<pre>public&nbsp;boolean&nbsp;hasChildren()</pre>
<div class="block">INTERNAL:
Check if descriptor has children</div>
</li>
</ul>
<a name="hasClassExtractor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasClassExtractor</h4>
<pre>public&nbsp;boolean&nbsp;hasClassExtractor()</pre>
<div class="block">INTERNAL:</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#hasClassExtractor--">hasClassExtractor</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="hasClassIndicator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasClassIndicator</h4>
<pre>public&nbsp;boolean&nbsp;hasClassIndicator()</pre>
<div class="block">INTERNAL:
Checks if the class is involved in inheritance</div>
</li>
</ul>
<a name="hasMultipleTableChild--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasMultipleTableChild</h4>
<pre>public&nbsp;boolean&nbsp;hasMultipleTableChild()</pre>
<div class="block">INTERNAL:
Return if any children of this descriptor require information from another table
not specified at the parent level.</div>
</li>
</ul>
<a name="hasView--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasView</h4>
<pre>public&nbsp;boolean&nbsp;hasView()</pre>
<div class="block">INTERNAL:
Return if a view is used for inheritance reads.</div>
</li>
</ul>
<a name="initialize-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>public&nbsp;void&nbsp;initialize(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</pre>
<div class="block">INTERNAL:
Initialize the inheritance properties of the descriptor once the mappings are initialized.
This is done before formal postInitialize during the end of mapping initialize.</div>
</li>
</ul>
<a name="initializeClassExtractor-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeClassExtractor</h4>
<pre>protected&nbsp;void&nbsp;initializeClassExtractor(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)
throws <a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></pre>
<div class="block">INTERNAL:
Setup the default classExtractionMethod, or if one was specified by the user make sure it is valid.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></code></dd>
</dl>
</li>
</ul>
<a name="initializeOnlyInstancesExpression--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeOnlyInstancesExpression</h4>
<pre>protected&nbsp;void&nbsp;initializeOnlyInstancesExpression()
throws <a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></pre>
<div class="block">INTERNAL:
Initialize the expression to use to check the specific type field.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></code></dd>
</dl>
</li>
</ul>
<a name="initializeOptimisticLocking--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeOptimisticLocking</h4>
<pre>protected&nbsp;void&nbsp;initializeOptimisticLocking()</pre>
<div class="block">INTERNAL:
Potentially override the optimistic locking behavior</div>
</li>
</ul>
<a name="initializeCacheInvalidationPolicy--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeCacheInvalidationPolicy</h4>
<pre>protected&nbsp;void&nbsp;initializeCacheInvalidationPolicy()</pre>
<div class="block">INTERNAL:
Potentially override the cache invalidation behavior</div>
</li>
</ul>
<a name="initializeWithAllSubclassesExpression--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeWithAllSubclassesExpression</h4>
<pre>protected&nbsp;void&nbsp;initializeWithAllSubclassesExpression()
throws <a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></pre>
<div class="block">INTERNAL:
Initialize the expression to use for queries to the class and its subclasses.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></code></dd>
</dl>
</li>
</ul>
<a name="isChildDescriptor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isChildDescriptor</h4>
<pre>public&nbsp;boolean&nbsp;isChildDescriptor()</pre>
<div class="block">INTERNAL:
Check if it is a child descriptor.</div>
</li>
</ul>
<a name="isJoinedStrategy--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isJoinedStrategy</h4>
<pre>public&nbsp;boolean&nbsp;isJoinedStrategy()</pre>
<div class="block">INTERNAL:
Indicate whether a single table or joined inheritance strategy is being used. Since we currently do
not support TABLE_PER_CLASS, indicating either joined/not joined is sufficient.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>isJoinedStrategy value</dd>
</dl>
</li>
</ul>
<a name="isRootParentDescriptor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRootParentDescriptor</h4>
<pre>public&nbsp;boolean&nbsp;isRootParentDescriptor()</pre>
<div class="block">INTERNAL:
Return whether or not is root parent descriptor</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#isRootParentDescriptor--">isRootParentDescriptor</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="postInitialize-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>postInitialize</h4>
<pre>public&nbsp;void&nbsp;postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</pre>
<div class="block">INTERNAL:
Initialized the inheritance properties that cannot be initialized
until after the mappings have been.</div>
</li>
</ul>
<a name="preInitialize-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preInitialize</h4>
<pre>public&nbsp;void&nbsp;preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)
throws <a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></pre>
<div class="block">INTERNAL:
Allow the inheritance properties of the descriptor to be initialized.
The descriptor's parent must first be initialized.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></code></dd>
</dl>
</li>
</ul>
<a name="readSubclassesOnQueries--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readSubclassesOnQueries</h4>
<pre>public&nbsp;void&nbsp;readSubclassesOnQueries()</pre>
<div class="block">PUBLIC:
Set the descriptor to read instance of itself and its subclasses when queried.
This is used with inheritance to configure the result of queries.
By default this is true for root inheritance descriptors, and false for all others.</div>
</li>
</ul>
<a name="remoteInitialization-org.eclipse.persistence.sessions.remote.DistributedSession-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteInitialization</h4>
<pre>public&nbsp;void&nbsp;remoteInitialization(<a href="../../../../org/eclipse/persistence/sessions/remote/DistributedSession.html" title="class in org.eclipse.persistence.sessions.remote">DistributedSession</a>&nbsp;session)</pre>
<div class="block">INTERNAL:
Used to initialize a remote descriptor.</div>
</li>
</ul>
<a name="requiresMultipleTableSubclassRead--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requiresMultipleTableSubclassRead</h4>
<pre>public&nbsp;boolean&nbsp;requiresMultipleTableSubclassRead()</pre>
<div class="block">INTERNAL:
Return if this descriptor has children that define additional tables and needs to read them.
This case requires a special read, because the query cannot be done through a single SQL call with normal joins.</div>
</li>
</ul>
<a name="selectAllRowUsingCustomMultipleTableSubclassRead-org.eclipse.persistence.queries.ObjectLevelReadQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectAllRowUsingCustomMultipleTableSubclassRead</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;selectAllRowUsingCustomMultipleTableSubclassRead(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelReadQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelReadQuery</a>&nbsp;query)
throws <a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a></pre>
<div class="block">INTERNAL:
Select all rows from a abstract table descriptor.
This is accomplished by selecting for all of the concrete classes and then merging the rows.
This does not optimize using type select, as the type information is not known.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>vector containing database rows.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a></code> - - an error has occurred on the database.</dd>
</dl>
</li>
</ul>
<a name="selectAllRowUsingDefaultMultipleTableSubclassRead-org.eclipse.persistence.queries.ObjectLevelReadQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectAllRowUsingDefaultMultipleTableSubclassRead</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;selectAllRowUsingDefaultMultipleTableSubclassRead(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelReadQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelReadQuery</a>&nbsp;query)
throws <a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a>,
<a href="../../../../org/eclipse/persistence/exceptions/QueryException.html" title="class in org.eclipse.persistence.exceptions">QueryException</a></pre>
<div class="block">INTERNAL:
Select all rows from a abstract table descriptor.
This is accomplished by selecting for all of the concrete classes and then merging the rows.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>vector containing database rows.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a></code> - - an error has occurred on the database.</dd>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/QueryException.html" title="class in org.eclipse.persistence.exceptions">QueryException</a></code></dd>
</dl>
</li>
</ul>
<a name="removeChildren-org.eclipse.persistence.descriptors.ClassDescriptor-java.util.Set-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeChildren</h4>
<pre>protected&nbsp;void&nbsp;removeChildren(<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;descriptor,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&gt;&nbsp;classes,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&gt;&nbsp;subclasses)</pre>
<div class="block">Remove all of the subclasses (and so on) from the set of classes.</div>
</li>
</ul>
<a name="selectAllRowUsingMultipleTableSubclassRead-org.eclipse.persistence.queries.ObjectLevelReadQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectAllRowUsingMultipleTableSubclassRead</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;selectAllRowUsingMultipleTableSubclassRead(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelReadQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelReadQuery</a>&nbsp;query)
throws <a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a></pre>
<div class="block">INTERNAL:
Select all rows from a abstract table descriptor.
This is accomplished by selecting for all of the concrete classes and then merging the rows.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>vector containing database rows.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a></code> - - an error has occurred on the database.</dd>
</dl>
</li>
</ul>
<a name="selectOneRowUsingCustomMultipleTableSubclassRead-org.eclipse.persistence.queries.ReadObjectQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectOneRowUsingCustomMultipleTableSubclassRead</h4>
<pre>protected&nbsp;org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;selectOneRowUsingCustomMultipleTableSubclassRead(<a href="../../../../org/eclipse/persistence/queries/ReadObjectQuery.html" title="class in org.eclipse.persistence.queries">ReadObjectQuery</a>&nbsp;query)
throws <a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a></pre>
<div class="block">INTERNAL:
Select one rows from a abstract table descriptor.
This is accomplished by selecting for all of the concrete classes until a row is found.
This does not optimize using type select, as the type information is not known.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a></code> - - an error has occurred on the database.</dd>
</dl>
</li>
</ul>
<a name="selectOneRowUsingDefaultMultipleTableSubclassRead-org.eclipse.persistence.queries.ReadObjectQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectOneRowUsingDefaultMultipleTableSubclassRead</h4>
<pre>protected&nbsp;org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;selectOneRowUsingDefaultMultipleTableSubclassRead(<a href="../../../../org/eclipse/persistence/queries/ReadObjectQuery.html" title="class in org.eclipse.persistence.queries">ReadObjectQuery</a>&nbsp;query)
throws <a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a>,
<a href="../../../../org/eclipse/persistence/exceptions/QueryException.html" title="class in org.eclipse.persistence.exceptions">QueryException</a></pre>
<div class="block">INTERNAL:
Select one row of any concrete subclass,
This must use two selects, the first retrieves the type field only.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a></code></dd>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/QueryException.html" title="class in org.eclipse.persistence.exceptions">QueryException</a></code></dd>
</dl>
</li>
</ul>
<a name="selectOneRowUsingMultipleTableSubclassRead-org.eclipse.persistence.queries.ReadObjectQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectOneRowUsingMultipleTableSubclassRead</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;selectOneRowUsingMultipleTableSubclassRead(<a href="../../../../org/eclipse/persistence/queries/ReadObjectQuery.html" title="class in org.eclipse.persistence.queries">ReadObjectQuery</a>&nbsp;query)
throws <a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a>,
<a href="../../../../org/eclipse/persistence/exceptions/QueryException.html" title="class in org.eclipse.persistence.exceptions">QueryException</a></pre>
<div class="block">INTERNAL:
Select one row of any concrete subclass,
This must use two selects, the first retrieves the type field only.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a></code></dd>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/QueryException.html" title="class in org.eclipse.persistence.exceptions">QueryException</a></code></dd>
</dl>
</li>
</ul>
<a name="setAllChildClassIndicators-java.util.Vector-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAllChildClassIndicators</h4>
<pre>protected&nbsp;void&nbsp;setAllChildClassIndicators(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;allChildClassIndicators)</pre>
<div class="block">INTERNAL:</div>
</li>
</ul>
<a name="setChildDescriptors-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setChildDescriptors</h4>
<pre>public&nbsp;void&nbsp;setChildDescriptors(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;&nbsp;childDescriptors)</pre>
<div class="block">INTERNAL:</div>
</li>
</ul>
<a name="setClassExtractionMethodName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassExtractionMethodName</h4>
<pre>public&nbsp;void&nbsp;setClassExtractionMethodName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;staticClassClassExtractionMethod)</pre>
<div class="block">ADVANCED:
A class extraction method can be registered with the descriptor to override the default inheritance mechanism.
This allows for a user defined class indicator in place of providing an explicit class indicator field.
The method registered must be a static method on the class which has that descriptor. The method must take Record
as an argument (for example, a DatabaseRecord), and must return the class to use for that record.
This method will be used to decide which class to instantiate when reading from the database.
It is the application's responsibility to populate any typing information in the database required
to determine the class from the record.
If this method is used then the class indicator field and mapping cannot be used, and in addition,
the descriptor's withAllSubclasses and onlyInstances expressions must also be set up correctly.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setWithAllSubclassesExpression-org.eclipse.persistence.expressions.Expression-"><code>setWithAllSubclassesExpression(Expression)</code></a>,
<a href="../../../../org/eclipse/persistence/descriptors/InheritancePolicy.html#setOnlyInstancesExpression-org.eclipse.persistence.expressions.Expression-"><code>setOnlyInstancesExpression(Expression)</code></a></dd>
</dl>
</li>
</ul>
<a name="setClassIndicatorAssociations-java.util.Vector-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassIndicatorAssociations</h4>
<pre>public&nbsp;void&nbsp;setClassIndicatorAssociations(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;classIndicatorAssociations)</pre>
<div class="block">INTERNAL:
Set the class indicator associations from reading the deployment XML.</div>
</li>
</ul>
<a name="setClassIndicatorField-org.eclipse.persistence.internal.helper.DatabaseField-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassIndicatorField</h4>
<pre>public&nbsp;void&nbsp;setClassIndicatorField(org.eclipse.persistence.internal.helper.DatabaseField&nbsp;classIndicatorField)</pre>
<div class="block">ADVANCED:
To set the class indicator field.
This can be used for advanced field types, such as XML nodes, or to set the field type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#setClassIndicatorField-FIELD-">setClassIndicatorField</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="setClassIndicatorFieldName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassIndicatorFieldName</h4>
<pre>public&nbsp;void&nbsp;setClassIndicatorFieldName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fieldName)</pre>
<div class="block">PUBLIC:
To set the class indicator field name.
This is the name of the field in the table that stores what type of object this is.</div>
</li>
</ul>
<a name="setClassIndicatorMapping-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassIndicatorMapping</h4>
<pre>public&nbsp;void&nbsp;setClassIndicatorMapping(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;classIndicatorMapping)</pre>
<div class="block">PUBLIC:
Set the association of indicators and classes.
This may be desired to be used by clients in strange inheritance models.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#setClassIndicatorMapping-java.util.Map-">setClassIndicatorMapping</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="setClassNameIndicatorMapping-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassNameIndicatorMapping</h4>
<pre>public&nbsp;void&nbsp;setClassNameIndicatorMapping(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;classNameIndicatorMapping)</pre>
<div class="block">INTERNAL:
Set the class name indicator mapping, used by the MW.</div>
</li>
</ul>
<a name="setDescriptor-org.eclipse.persistence.descriptors.ClassDescriptor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDescriptor</h4>
<pre>public&nbsp;void&nbsp;setDescriptor(<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;descriptor)</pre>
<div class="block">INTERNAL:
Set the descriptor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#setDescriptor-DESCRIPTOR-">setDescriptor</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="setDescribesNonPersistentSubclasses-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDescribesNonPersistentSubclasses</h4>
<pre>public&nbsp;void&nbsp;setDescribesNonPersistentSubclasses(boolean&nbsp;describesNonPersistentSubclasses)</pre>
<div class="block">ADVANCED:
Determines whether the descriptors using this inheritance policy
should be used as descriptors for subclasses of the classes they
describe if those subclasses do not have their own descriptor
e.g. If Employee.class has a descriptor and EmployeeSubClass does
not have a descriptor, if describesNonPersistenceSubclasses is true
Employee's descriptor will be used as the descriptor for Employee</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>describesNonPersistentSubclasses</code> - </dd>
</dl>
</li>
</ul>
<a name="setJoinedStrategy--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setJoinedStrategy</h4>
<pre>public&nbsp;void&nbsp;setJoinedStrategy()</pre>
<div class="block">INTERNAL:
Used to indicate a JOINED inheritance strategy.</div>
</li>
</ul>
<a name="setOnlyInstancesExpression-org.eclipse.persistence.expressions.Expression-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOnlyInstancesExpression</h4>
<pre>public&nbsp;void&nbsp;setOnlyInstancesExpression(<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;onlyInstancesExpression)</pre>
<div class="block">ADVANCED:
Sets the expression used to select instance of the class only. Can be used to customize the
inheritance class indicator expression.</div>
</li>
</ul>
<a name="setParentClass-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setParentClass</h4>
<pre>public&nbsp;void&nbsp;setParentClass(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;parentClass)</pre>
<div class="block">PUBLIC:
Set the parent class.
A descriptor can inherit from another descriptor through defining it as its parent.
The root descriptor must define a class indicator field and mapping.
All children must share the same table as their parent but can add additional tables.
All children must share the root descriptor primary key.</div>
</li>
</ul>
<a name="setParentClassName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setParentClassName</h4>
<pre>public&nbsp;void&nbsp;setParentClassName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;parentClassName)</pre>
<div class="block">INTERNAL:
Set the parent class name, used by MW to avoid referencing the real class for
deployment XML generation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#setParentClassName-java.lang.String-">setParentClassName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="setParentDescriptor-org.eclipse.persistence.descriptors.ClassDescriptor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setParentDescriptor</h4>
<pre>public&nbsp;void&nbsp;setParentDescriptor(<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;parentDescriptor)</pre>
<div class="block">INTERNAL:</div>
</li>
</ul>
<a name="setReadAllSubclassesView-org.eclipse.persistence.internal.helper.DatabaseTable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReadAllSubclassesView</h4>
<pre>protected&nbsp;void&nbsp;setReadAllSubclassesView(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;readAllSubclassesView)</pre>
<div class="block">INTERNAL:
The view can be used to optimize/customize the query for all subclasses where they have multiple tables.
This view can do the outer join, we require the view because we cannot generate dynamic platform independent SQL
for outer joins (i.e. not possible to do so either).</div>
</li>
</ul>
<a name="setReadAllSubclassesViewName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReadAllSubclassesViewName</h4>
<pre>public&nbsp;void&nbsp;setReadAllSubclassesViewName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;readAllSubclassesViewName)</pre>
<div class="block">ADVANCED:
The view can be used to optimize/customize the query for all subclasses where they have multiple tables.
This view can use outer joins or unions to combine the results of selecting from all of the subclass tables.
If a view is not given then TopLink must make an individual call for each subclass.</div>
</li>
</ul>
<a name="setShouldReadSubclasses-java.lang.Boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setShouldReadSubclasses</h4>
<pre>public&nbsp;void&nbsp;setShouldReadSubclasses(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;shouldReadSubclasses)</pre>
<div class="block">INTERNAL:
Set the descriptor to read instance of itself and its subclasses when queried.
This is used with inheritance to configure the result of queries.
By default this is true for root inheritance descriptors, and false for all others.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html#setShouldReadSubclasses-java.lang.Boolean-">setShouldReadSubclasses</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.html" title="class in org.eclipse.persistence.core.descriptors">CoreInheritancePolicy</a>&lt;org.eclipse.persistence.internal.sessions.AbstractRecord,org.eclipse.persistence.internal.sessions.AbstractSession,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>,org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></dd>
</dl>
</li>
</ul>
<a name="setShouldReadSubclasses-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setShouldReadSubclasses</h4>
<pre>public&nbsp;void&nbsp;setShouldReadSubclasses(boolean&nbsp;shouldReadSubclasses)</pre>
<div class="block">PUBLIC:
Set the descriptor to read instance of itself and its subclasses when queried.
This is used with inheritance to configure the result of queries.
By default this is true for root inheritance descriptors, and false for all others.</div>
</li>
</ul>
<a name="setShouldUseClassNameAsIndicator-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setShouldUseClassNameAsIndicator</h4>
<pre>public&nbsp;void&nbsp;setShouldUseClassNameAsIndicator(boolean&nbsp;shouldUseClassNameAsIndicator)</pre>
<div class="block">PUBLIC:
Set if the descriptor uses the classes fully qualified name as the indicator.
The class indicator is used with inheritance to determine the class from a row.
By default a class indicator mapping is required, this can be set to true if usage of the class
name is desired.
The field must be of a large enough size to store the fully qualified class name.</div>
</li>
</ul>
<a name="setAlwaysUseOuterJoinForClassType-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAlwaysUseOuterJoinForClassType</h4>
<pre>public&nbsp;void&nbsp;setAlwaysUseOuterJoinForClassType(boolean&nbsp;choice)</pre>
<div class="block">PUBLIC:
Sets the inheritance policy to always use an outer join when querying across a relationship of class.
used when using getAllowingNull(), or anyOfAllowingNone()</div>
</li>
</ul>
<a name="setSingleTableStrategy--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSingleTableStrategy</h4>
<pre>public&nbsp;void&nbsp;setSingleTableStrategy()</pre>
<div class="block">INTERNAL:
Used to indicate a SINGLE_TABLE inheritance strategy. Since only JOINED and SINGLE_TABLE
strategies are supported at this time (no support for TABLE_PER_CLASS) using a
!isJoinedStrategy an an indicator for SINGLE_TABLE is sufficient.</div>
</li>
</ul>
<a name="setUseDescriptorsToValidateInheritedObjects-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUseDescriptorsToValidateInheritedObjects</h4>
<pre>public&nbsp;void&nbsp;setUseDescriptorsToValidateInheritedObjects(boolean&nbsp;useDescriptorsToValidateInheritedObjects)</pre>
<div class="block">INTERNAL:
Sets if we should use the descriptor inheritance to determine
if an object can be returned from the identity map or not.</div>
</li>
</ul>
<a name="setWithAllSubclassesExpression-org.eclipse.persistence.expressions.Expression-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWithAllSubclassesExpression</h4>
<pre>public&nbsp;void&nbsp;setWithAllSubclassesExpression(<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;withAllSubclassesExpression)</pre>
<div class="block">ADVANCED:
Sets the expression to be used for querying for a class and all its subclasses. Can be used
to customize the inheritance class indicator expression.</div>
</li>
</ul>
<a name="shouldReadSubclasses--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldReadSubclasses</h4>
<pre>public&nbsp;boolean&nbsp;shouldReadSubclasses()</pre>
<div class="block">PUBLIC:
Return true if this descriptor should read instances of itself and subclasses on queries.</div>
</li>
</ul>
<a name="shouldReadSubclassesValue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldReadSubclassesValue</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;shouldReadSubclassesValue()</pre>
<div class="block">INTERNAL:
Return true if this descriptor should read instances of itself and subclasses on queries.</div>
</li>
</ul>
<a name="shouldAlwaysUseOuterJoin--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldAlwaysUseOuterJoin</h4>
<pre>public&nbsp;boolean&nbsp;shouldAlwaysUseOuterJoin()</pre>
<div class="block">PUBLIC:
returns if the inheritance policy will always use an outerjoin when selecting class type</div>
</li>
</ul>
<a name="shouldOuterJoinSubclasses--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldOuterJoinSubclasses</h4>
<pre>public&nbsp;boolean&nbsp;shouldOuterJoinSubclasses()</pre>
<div class="block">PUBLIC:
Return if an outer join should be used to read subclasses.
By default a separate query is done for each subclass when querying for
a root or branch inheritance class that has subclasses that span multiple tables.</div>
</li>
</ul>
<a name="setShouldOuterJoinSubclasses-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setShouldOuterJoinSubclasses</h4>
<pre>public&nbsp;void&nbsp;setShouldOuterJoinSubclasses(boolean&nbsp;shouldOuterJoinSubclasses)</pre>
<div class="block">PUBLIC:
Set if an outer join should be used to read subclasses.
By default a separate query is done for each subclass when querying for
a root or branch inheritance class that has subclasses that span multiple tables.</div>
</li>
</ul>
<a name="shouldUseClassNameAsIndicator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldUseClassNameAsIndicator</h4>
<pre>public&nbsp;boolean&nbsp;shouldUseClassNameAsIndicator()</pre>
<div class="block">PUBLIC:
Return true if the descriptor use the classes full name as the indicator.
The class indicator is used with inheritance to determine the class from a row.
By default a class indicator mapping is required, this can be set to true if usage of the class
name is desired.
The field must be of a large enough size to store the fully qualified class name.</div>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<div class="block">INTERNAL:</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="updateTables--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateTables</h4>
<pre>protected&nbsp;void&nbsp;updateTables()</pre>
<div class="block">INTERNAL:
set the tables on the child descriptor
overridden in org.eclipse.persistence.internal.oxm.QNameInheritancePolicy</div>
</li>
</ul>
<a name="useClassNameAsIndicator--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>useClassNameAsIndicator</h4>
<pre>public&nbsp;void&nbsp;useClassNameAsIndicator()</pre>
<div class="block">PUBLIC:
Set the descriptor to use the classes full name as the indicator.
The class indicator is used with inheritance to determine the class from a row.
By default a class indicator mapping is required, this can be set to true if usage of the class
name is desired.
The field must be of a large enough size to store the fully qualified class name.</div>
</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="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">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/descriptors/InterfacePolicy.html" title="class in org.eclipse.persistence.descriptors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/descriptors/InheritancePolicy.html" target="_top">Frames</a></li>
<li><a href="InheritancePolicy.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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>Copyright &#169; 2007&#x2013;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>