blob: 057dfa6f1e5bade48769782343ef409037872e3b [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 Thu Apr 08 02:07:33 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FetchGroup (EclipseLink 3.0.1, API Reference)</title>
<meta name="date" content="2021-04-08">
<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="FetchGroup (EclipseLink 3.0.1, 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};
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.1, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/queries/EntityResult.html" title="class in org.eclipse.persistence.queries"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/queries/FetchGroup.html" target="_top">Frames</a></li>
<li><a href="FetchGroup.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.queries</div>
<h2 title="Class FetchGroup" class="title">Class FetchGroup</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/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">org.eclipse.persistence.core.queries.CoreAttributeGroup</a>&lt;org.eclipse.persistence.internal.queries.AttributeItem,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;</li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html" title="class in org.eclipse.persistence.queries">org.eclipse.persistence.queries.AttributeGroup</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.queries.FetchGroup</li>
</ul>
</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">FetchGroup</span>
extends <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html" title="class in org.eclipse.persistence.queries">AttributeGroup</a></pre>
<div class="block">A FetchGroup is a performance enhancement that allows a group of attributes
of an object to be loaded on demand, which means that the data for an
attribute might not loaded from the underlying data source until an explicit
access call for the attribute first occurs. It avoids loading all data of the
object's attributes, in which the user is interested in only a subset of
them. A great deal of caution and careful system use case analysis should be
use when using the fetch group feature, as the extra round-trip would well
offset the gain from the deferred loading in many cases.
<p>
FetchGroup usage is only possible when an entity class implements the
<a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries"><code>FetchGroupTracker</code></a> interface so that the FetchGroup can be stored in
the entity. The entity must also use the provided check methods to ensure the
attributes are loaded prior to use. In general this support is enabled
through weaving of the entity classes. If an entity class does not implement
<a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries"><code>FetchGroupTracker</code></a> no FetchGroup functionality will be supported and
attempted use of a FetchGroup in a query will not result in the expected
behavior.
<p>
FetchGroups are defined in 3 ways:
<ul>
<li>A <a href="../../../../org/eclipse/persistence/descriptors/FetchGroupManager.html#getDefaultFetchGroup--"><code>FetchGroupManager.getDefaultFetchGroup()</code></a> is created and stored
on the <a href="../../../../org/eclipse/persistence/descriptors/FetchGroupManager.html" title="class in org.eclipse.persistence.descriptors"><code>FetchGroupManager</code></a> during metadata processing if any of the
basic (<a href="../../../../org/eclipse/persistence/mappings/DirectToFieldMapping.html" title="class in org.eclipse.persistence.mappings"><code>DirectToFieldMapping</code></a>) are configured to be loaded directly.
<li>A named FetchGroup can be defined and added to the
<a href="../../../../org/eclipse/persistence/descriptors/FetchGroupManager.html" title="class in org.eclipse.persistence.descriptors"><code>FetchGroupManager</code></a>. For JPA users this can be accomplished using
annotation (@FetchGroup) or in an eclipselink-orm.xml. For JPA and native
users named groups can be defined in code and added to the
<a href="../../../../org/eclipse/persistence/descriptors/FetchGroupManager.html#addFetchGroup-org.eclipse.persistence.queries.FetchGroup-"><code>FetchGroupManager.addFetchGroup(FetchGroup)</code></a>. Adding named groups in
code is typically done in a <a href="../../../../org/eclipse/persistence/config/DescriptorCustomizer.html" title="interface in org.eclipse.persistence.config"><code>DescriptorCustomizer</code></a>and should be done
before the session is initialized at login. To use a named FetchGroup on a
query the native <a href="../../../../org/eclipse/persistence/queries/ObjectLevelReadQuery.html#setFetchGroupName-java.lang.String-"><code>ObjectLevelReadQuery.setFetchGroupName(String)</code></a> can
be used of for JPA users the <a href="../../../../org/eclipse/persistence/config/QueryHints.html#FETCH_GROUP_NAME"><code>QueryHints.FETCH_GROUP_NAME</code></a> an be used.
<li>A dynamic FetchGroup can be created within the application and used on a
query. For native API usage this is done using
<a href="../../../../org/eclipse/persistence/queries/ObjectLevelReadQuery.html#setFetchGroup-org.eclipse.persistence.queries.FetchGroup-"><code>ObjectLevelReadQuery.setFetchGroup(FetchGroup)</code></a> while JPA users
generally use the <a href="../../../../org/eclipse/persistence/config/QueryHints.html#FETCH_GROUP"><code>QueryHints.FETCH_GROUP</code></a>.
</ul>
<p>
When a query is executed only one FetchGroup will be used. The order of
precedence is:
<ol>
<li>If a FetchGroup is specified on a query it will be used.
<li>If no FetchGroup is specified but a FetchGroup name is specified and the
FetchGroupManager has a group by this name it will be used.
<li>If neither a FetchGroup nor a FetchGroup name is specified on the query
an the FetchGroupManager has a default group then it will be used.
<li>If none of these conditions are met then no FetchGroup will be used when
executing a query.
</ol><br>
<i>Note: This includes the execution of queries to populate lazy and eager
relationships.</i>
<p>
<b>Loading:</b> A FetchGroup can optionally specify that it needs its
included relationships loaded. This can be done using
<a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#setShouldLoad-boolean-"><code>setShouldLoad(boolean)</code></a> and <a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#setShouldLoadAll-boolean-"><code>setShouldLoadAll(boolean)</code></a> as
well as the corresponding configurations in the @FetchGroup annotation and
the &lt;fetch-group&gt; element in the eclipselink-orm.xml. When this
is configured the FetchGroup will also function as a <a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries"><code>LoadGroup</code></a>
causing all of its specified relationships to be populated prior to returning
the results from the query execution.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/FetchGroupManager.html" title="class in org.eclipse.persistence.descriptors"><code>FetchGroupManager</code></a>,
<a href="../../../../org/eclipse/persistence/config/QueryHints.html#FETCH_GROUP"><code>QueryHints.FETCH_GROUP</code></a>,
<a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries"><code>LoadGroup</code></a>,
<a href="../../../../serialized-form.html#org.eclipse.persistence.queries.FetchGroup">Serialized Form</a></dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>King Wang, dclarke, ailitchev</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>TopLink 10.1.3</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 org.eclipse.persistence.internal.queries.EntityFetchGroup</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#entityFetchGroup">entityFetchGroup</a></span></code>
<div class="block">Caches the EntityFetch group for this FetchGroup</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries">FetchGroupTracker</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#rootEntity">rootEntity</a></span></code>
<div class="block">Stores a reference to the root entity for an Aggregate Object relationship.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.persistence.core.queries.CoreAttributeGroup">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.persistence.core.queries.<a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a></h3>
<code><a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#allsubclasses">allsubclasses</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#isValidated">isValidated</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#items">items</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#name">name</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#subClasses">subClasses</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#superClassGroup">superClassGroup</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#type">type</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#typeName">typeName</a></code></li>
</ul>
</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/queries/FetchGroup.html#FetchGroup--">FetchGroup</a></span>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#FetchGroup-java.lang.String-">FetchGroup</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;name)</code>&nbsp;</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/queries/FetchGroup.html#addAttribute-java.lang.String-java.util.Collection-">addAttribute</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;attributeNameOrPath,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a>&gt;&nbsp;groups)</code>
<div class="block">Add an attribute and the corresponding list of AttributeGroups.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#addAttribute-java.lang.String-org.eclipse.persistence.core.queries.CoreAttributeGroup-">addAttribute</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;attributeNameOrPath,
<a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a>&nbsp;group)</code>
<div class="block">Add a basic attribute or nested attribute with each String representing
an attribute on the path to what needs to be included in the
AttributeGroup.</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/queries/FetchGroup.html#addAttributeKey-java.lang.String-org.eclipse.persistence.core.queries.CoreAttributeGroup-">addAttributeKey</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;attributeNameOrPath,
<a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a>&nbsp;group)</code>
<div class="block">Add a basic attribute or nested attribute with each String representing
the key of an attribute of type Map on the path to what needs to be
included in the AttributeGroup.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html" title="class in org.eclipse.persistence.queries">FetchGroup</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#clone--">clone</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.queries.EntityFetchGroup</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#getEntityFetchGroup-org.eclipse.persistence.descriptors.FetchGroupManager-">getEntityFetchGroup</a></span>(<a href="../../../../org/eclipse/persistence/descriptors/FetchGroupManager.html" title="class in org.eclipse.persistence.descriptors">FetchGroupManager</a>&nbsp;fetchGroupManager)</code>
<div class="block">INTERNAL:
Used to retrieve the EntityFetchGroup for this FetchGroup</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html" title="class in org.eclipse.persistence.queries">FetchGroup</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#getGroup-java.lang.String-">getGroup</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;attributeNameOrPath)</code>
<div class="block">Returns FetchGroup corresponding to the passed (possibly nested) attribute.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries">FetchGroupTracker</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#getRootEntity--">getRootEntity</a></span>()</code>
<div class="block">INTERNAL:</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#isEntityFetchGroup--">isEntityFetchGroup</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#isFetchGroup--">isFetchGroup</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/queries/FetchGroup.html" title="class in org.eclipse.persistence.queries">FetchGroup</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#newGroup-java.lang.String-org.eclipse.persistence.core.queries.CoreAttributeGroup-">newGroup</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;name,
<a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a>&nbsp;parent)</code>
<div class="block">Subclass may create different types.</div>
</td>
</tr>
<tr id="i10" 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/queries/FetchGroup.html#onUnfetchedAttribute-org.eclipse.persistence.queries.FetchGroupTracker-java.lang.String-">onUnfetchedAttribute</a></span>(<a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries">FetchGroupTracker</a>&nbsp;entity,
<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;attributeName)</code>
<div class="block">INTERNAL:
Called on attempt to get value of an attribute that hasn't been fetched yet.</div>
</td>
</tr>
<tr id="i11" 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/queries/FetchGroup.html#onUnfetchedAttributeForSet-org.eclipse.persistence.queries.FetchGroupTracker-java.lang.String-">onUnfetchedAttributeForSet</a></span>(<a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries">FetchGroupTracker</a>&nbsp;entity,
<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;attributeName)</code>
<div class="block">INTERNAL:
Called on attempt to assign value to an attribute that hasn't been fetched yet.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#setRootEntity-org.eclipse.persistence.queries.FetchGroupTracker-">setRootEntity</a></span>(<a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries">FetchGroupTracker</a>&nbsp;rootEntity)</code>
<div class="block">INTERNAL:</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#setShouldLoad-boolean-">setShouldLoad</a></span>(boolean&nbsp;shouldLoad)</code>
<div class="block">Configure this group to also act as a <a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries"><code>LoadGroup</code></a> when set to true
and load all of the specified relationships so that the entities returned
from the query where this group was used have the requested relationships
populated.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#setShouldLoadAll-boolean-">setShouldLoadAll</a></span>(boolean&nbsp;shouldLoad)</code>
<div class="block">Configure this group to also act as a <a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries"><code>LoadGroup</code></a> the same as
<a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#setShouldLoad-boolean-"><code>setShouldLoad(boolean)</code></a>.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#setSubclassShouldLoad-boolean-">setSubclassShouldLoad</a></span>(boolean&nbsp;shouldLoad)</code>
<div class="block">passes should load to subclasses.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#shouldLoad--">shouldLoad</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries">LoadGroup</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#toLoadGroup-java.util.Map-boolean-">toLoadGroup</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>&lt;<a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html" title="class in org.eclipse.persistence.queries">AttributeGroup</a>,<a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries">LoadGroup</a>&gt;&nbsp;cloneMap,
boolean&nbsp;loadOnly)</code>&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries">LoadGroup</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#toLoadGroupLoadOnly--">toLoadGroupLoadOnly</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.queries.AttributeGroup">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.persistence.queries.<a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html" title="class in org.eclipse.persistence.queries">AttributeGroup</a></h3>
<code><a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#addAttribute-java.lang.String-org.eclipse.persistence.queries.AttributeGroup-">addAttribute</a>, <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#findGroup-org.eclipse.persistence.descriptors.ClassDescriptor-">findGroup</a>, <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#getItem-java.lang.String-">getItem</a>, <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#isConcurrent--">isConcurrent</a>, <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#isCopyGroup--">isCopyGroup</a>, <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#isLoadGroup--">isLoadGroup</a>, <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#isSupersetOf-org.eclipse.persistence.queries.AttributeGroup-">isSupersetOf</a>, <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#newItem-org.eclipse.persistence.queries.AttributeGroup-java.lang.String-">newItem</a>, <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#newItem-org.eclipse.persistence.core.queries.CoreAttributeGroup-java.lang.String-">newItem</a>, <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#toCopyGroup--">toCopyGroup</a>, <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#toCopyGroup-java.util.Map-java.util.Map-">toCopyGroup</a>, <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#toFetchGroup--">toFetchGroup</a>, <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#toFetchGroup-java.util.Map-">toFetchGroup</a>, <a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#toLoadGroup--">toLoadGroup</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.core.queries.CoreAttributeGroup">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.persistence.core.queries.<a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a></h3>
<code><a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#addAttribute-java.lang.String-">addAttribute</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#addAttributes-java.util.Collection-">addAttributes</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#clone-java.util.Map-">clone</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#containsAttribute-java.lang.String-">containsAttribute</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#containsAttributeInternal-java.lang.String-">containsAttributeInternal</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#convert-java.lang.String...-">convert</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#convertClassNamesToClasses-java.lang.ClassLoader-">convertClassNamesToClasses</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#equals-java.lang.Object-">equals</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#getAllItems--">getAllItems</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#getAttributeNames--">getAttributeNames</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#getItem-java.lang.String:A-boolean-">getItem</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#getItems--">getItems</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#getName--">getName</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#getSubClassGroups--">getSubClassGroups</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#getType--">getType</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#getTypeName--">getTypeName</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#hashCode--">hashCode</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#hasInheritance--">hasInheritance</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#hasItems--">hasItems</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#insertSubClass-org.eclipse.persistence.core.queries.CoreAttributeGroup-">insertSubClass</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#isSupersetOf-org.eclipse.persistence.core.queries.CoreAttributeGroup-">isSupersetOf</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#isValidated--">isValidated</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#removeAttribute-java.lang.String-">removeAttribute</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#setAllSubclasses-java.util.Map-">setAllSubclasses</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#setAttributeNames-java.util.Set-">setAttributeNames</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#toString--">toString</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#toStringAdditionalInfo--">toStringAdditionalInfo</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#toStringItems--">toStringItems</a>, <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#toStringPath-java.lang.String:A-int-">toStringPath</a></code></li>
</ul>
<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#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#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="entityFetchGroup">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>entityFetchGroup</h4>
<pre>protected&nbsp;org.eclipse.persistence.internal.queries.EntityFetchGroup entityFetchGroup</pre>
<div class="block">Caches the EntityFetch group for this FetchGroup</div>
</li>
</ul>
<a name="rootEntity">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>rootEntity</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries">FetchGroupTracker</a> rootEntity</pre>
<div class="block">Stores a reference to the root entity for an Aggregate Object relationship.
This ensures that partially loaded aggregates can be triggered.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="FetchGroup--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FetchGroup</h4>
<pre>public&nbsp;FetchGroup()</pre>
</li>
</ul>
<a name="FetchGroup-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>FetchGroup</h4>
<pre>public&nbsp;FetchGroup(<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;name)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="onUnfetchedAttribute-org.eclipse.persistence.queries.FetchGroupTracker-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onUnfetchedAttribute</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;onUnfetchedAttribute(<a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries">FetchGroupTracker</a>&nbsp;entity,
<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;attributeName)</pre>
<div class="block">INTERNAL:
Called on attempt to get value of an attribute that hasn't been fetched yet.
Returns an error message in case jakarta.persistence.EntityNotFoundException
should be thrown by the calling method,
null otherwise.
<p>
This method is typically only invoked through woven code in the
persistence object introduced when <a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries"><code>FetchGroupTracker</code></a> is woven
into the entity.</div>
</li>
</ul>
<a name="onUnfetchedAttributeForSet-org.eclipse.persistence.queries.FetchGroupTracker-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onUnfetchedAttributeForSet</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;onUnfetchedAttributeForSet(<a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries">FetchGroupTracker</a>&nbsp;entity,
<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;attributeName)</pre>
<div class="block">INTERNAL:
Called on attempt to assign value to an attribute that hasn't been fetched yet.
Returns an error message in case jakarta.persistence.EntityNotFoundException
should be thrown by the calling method,
null otherwise.
<p>
This method is typically only invoked through woven code in the
persistence object introduced when <a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries"><code>FetchGroupTracker</code></a> is woven
into the entity.</div>
</li>
</ul>
<a name="getRootEntity--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootEntity</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries">FetchGroupTracker</a>&nbsp;getRootEntity()</pre>
<div class="block">INTERNAL:</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the rootEntity</dd>
</dl>
</li>
</ul>
<a name="setRootEntity-org.eclipse.persistence.queries.FetchGroupTracker-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRootEntity</h4>
<pre>public&nbsp;void&nbsp;setRootEntity(<a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries">FetchGroupTracker</a>&nbsp;rootEntity)</pre>
<div class="block">INTERNAL:</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rootEntity</code> - the rootEntity to set</dd>
</dl>
</li>
</ul>
<a name="setShouldLoad-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setShouldLoad</h4>
<pre>public&nbsp;void&nbsp;setShouldLoad(boolean&nbsp;shouldLoad)</pre>
<div class="block">Configure this group to also act as a <a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries"><code>LoadGroup</code></a> when set to true
and load all of the specified relationships so that the entities returned
from the query where this group was used have the requested relationships
populated. All subsequent attributes added to this group that create a
nested group will have this value applied to them.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#setShouldLoadAll-boolean-"><code>to configure {@link #shouldLoad()} on
nested groups</code></a></dd>
</dl>
</li>
</ul>
<a name="setSubclassShouldLoad-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSubclassShouldLoad</h4>
<pre>protected&nbsp;void&nbsp;setSubclassShouldLoad(boolean&nbsp;shouldLoad)</pre>
<div class="block">passes should load to subclasses.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#setShouldLoadAll-boolean-"><code>to configure {@link #shouldLoad()} on
nested groups</code></a></dd>
</dl>
</li>
</ul>
<a name="setShouldLoadAll-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setShouldLoadAll</h4>
<pre>public&nbsp;void&nbsp;setShouldLoadAll(boolean&nbsp;shouldLoad)</pre>
<div class="block">Configure this group to also act as a <a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries"><code>LoadGroup</code></a> the same as
<a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#setShouldLoad-boolean-"><code>setShouldLoad(boolean)</code></a>. Additionally this method will apply the
provided boolean value to all nested groups already added.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/queries/FetchGroup.html#setShouldLoad-boolean-"><code>to only configure this grup without
effecting existing nested groups.</code></a></dd>
</dl>
</li>
</ul>
<a name="shouldLoad--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldLoad</h4>
<pre>public&nbsp;boolean&nbsp;shouldLoad()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this group will be used as a <a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries"><code>LoadGroup</code></a>when
processing the results of a query to force the specified
relationships to be loaded.</dd>
</dl>
</li>
</ul>
<a name="newGroup-java.lang.String-org.eclipse.persistence.core.queries.CoreAttributeGroup-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newGroup</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/queries/FetchGroup.html" title="class in org.eclipse.persistence.queries">FetchGroup</a>&nbsp;newGroup(<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;name,
<a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a>&nbsp;parent)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#newGroup-java.lang.String-org.eclipse.persistence.core.queries.CoreAttributeGroup-">AttributeGroup</a></code></span></div>
<div class="block">Subclass may create different types.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#newGroup-java.lang.String-org.eclipse.persistence.core.queries.CoreAttributeGroup-">newGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html" title="class in org.eclipse.persistence.queries">AttributeGroup</a></code></dd>
</dl>
</li>
</ul>
<a name="isFetchGroup--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isFetchGroup</h4>
<pre>public&nbsp;boolean&nbsp;isFetchGroup()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#isFetchGroup--">isFetchGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a>&lt;org.eclipse.persistence.internal.queries.AttributeItem,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="isEntityFetchGroup--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEntityFetchGroup</h4>
<pre>public&nbsp;boolean&nbsp;isEntityFetchGroup()</pre>
</li>
</ul>
<a name="toLoadGroupLoadOnly--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toLoadGroupLoadOnly</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries">LoadGroup</a>&nbsp;toLoadGroupLoadOnly()</pre>
</li>
</ul>
<a name="clone--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clone</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/FetchGroup.html" title="class in org.eclipse.persistence.queries">FetchGroup</a>&nbsp;clone()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#clone--">clone</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html" title="class in org.eclipse.persistence.queries">AttributeGroup</a></code></dd>
</dl>
</li>
</ul>
<a name="toLoadGroup-java.util.Map-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toLoadGroup</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries">LoadGroup</a>&nbsp;toLoadGroup(<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;<a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html" title="class in org.eclipse.persistence.queries">AttributeGroup</a>,<a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries">LoadGroup</a>&gt;&nbsp;cloneMap,
boolean&nbsp;loadOnly)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#toLoadGroup-java.util.Map-boolean-">toLoadGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html" title="class in org.eclipse.persistence.queries">AttributeGroup</a></code></dd>
</dl>
</li>
</ul>
<a name="getEntityFetchGroup-org.eclipse.persistence.descriptors.FetchGroupManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEntityFetchGroup</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.queries.EntityFetchGroup&nbsp;getEntityFetchGroup(<a href="../../../../org/eclipse/persistence/descriptors/FetchGroupManager.html" title="class in org.eclipse.persistence.descriptors">FetchGroupManager</a>&nbsp;fetchGroupManager)</pre>
<div class="block">INTERNAL:
Used to retrieve the EntityFetchGroup for this FetchGroup</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the entityFetchGroup</dd>
</dl>
</li>
</ul>
<a name="getGroup-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroup</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/FetchGroup.html" title="class in org.eclipse.persistence.queries">FetchGroup</a>&nbsp;getGroup(<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;attributeNameOrPath)</pre>
<div class="block">Returns FetchGroup corresponding to the passed (possibly nested) attribute.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html#getGroup-java.lang.String-">getGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/queries/AttributeGroup.html" title="class in org.eclipse.persistence.queries">AttributeGroup</a></code></dd>
</dl>
</li>
</ul>
<a name="addAttribute-java.lang.String-org.eclipse.persistence.core.queries.CoreAttributeGroup-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addAttribute</h4>
<pre>public&nbsp;void&nbsp;addAttribute(<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;attributeNameOrPath,
<a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a>&nbsp;group)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#addAttribute-java.lang.String-org.eclipse.persistence.core.queries.CoreAttributeGroup-">CoreAttributeGroup</a></code></span></div>
<div class="block">Add a basic attribute or nested attribute with each String representing
an attribute on the path to what needs to be included in the
AttributeGroup.
<p>
Example: <code>
group.addAttribute("firstName", group1);<br>
group.addAttribute("manager.address", group2);
</code>
Note that existing group corresponding to attributeNameOrPath
will be overridden with the passed group.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#addAttribute-java.lang.String-org.eclipse.persistence.core.queries.CoreAttributeGroup-">addAttribute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a>&lt;org.eclipse.persistence.internal.queries.AttributeItem,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attributeNameOrPath</code> - A simple attribute, array or attributes forming a path</dd>
<dd><code>group</code> - - an AttributeGroup to be added.</dd>
</dl>
</li>
</ul>
<a name="addAttribute-java.lang.String-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addAttribute</h4>
<pre>public&nbsp;void&nbsp;addAttribute(<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;attributeNameOrPath,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a>&gt;&nbsp;groups)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#addAttribute-java.lang.String-java.util.Collection-">CoreAttributeGroup</a></code></span></div>
<div class="block">Add an attribute and the corresponding list of AttributeGroups.
Multiple groups are added in the case of inheritance
<p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#addAttribute-java.lang.String-java.util.Collection-">addAttribute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a>&lt;org.eclipse.persistence.internal.queries.AttributeItem,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attributeNameOrPath</code> - A simple attribute, array or attributes forming a path</dd>
<dd><code>groups</code> - - a collection of AttributeGroups to be added.</dd>
</dl>
</li>
</ul>
<a name="addAttributeKey-java.lang.String-org.eclipse.persistence.core.queries.CoreAttributeGroup-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>addAttributeKey</h4>
<pre>public&nbsp;void&nbsp;addAttributeKey(<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;attributeNameOrPath,
<a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a>&nbsp;group)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#addAttributeKey-java.lang.String-org.eclipse.persistence.core.queries.CoreAttributeGroup-">CoreAttributeGroup</a></code></span></div>
<div class="block">Add a basic attribute or nested attribute with each String representing
the key of an attribute of type Map on the path to what needs to be
included in the AttributeGroup.
<p>
Example: <code>
group.addAttribute("firstName", group1);<br>
group.addAttribute("manager.address", group2);
</code>
Note that existing group corresponding to attributeNameOrPath will be
overridden with the passed group.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html#addAttributeKey-java.lang.String-org.eclipse.persistence.core.queries.CoreAttributeGroup-">addAttributeKey</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/core/queries/CoreAttributeGroup.html" title="class in org.eclipse.persistence.core.queries">CoreAttributeGroup</a>&lt;org.eclipse.persistence.internal.queries.AttributeItem,<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attributeNameOrPath</code> - A simple attribute, array or attributes forming a path to a
Map key</dd>
<dd><code>group</code> - - an AttributeGroup to be added.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="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.1, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/queries/EntityResult.html" title="class in org.eclipse.persistence.queries"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/queries/FetchGroupTracker.html" title="interface in org.eclipse.persistence.queries"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/queries/FetchGroup.html" target="_top">Frames</a></li>
<li><a href="FetchGroup.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>