blob: fef3e2e3f3ea4254c186072e86133e284fc78e31 [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:39:14 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.eclipse.persistence.jpa.jpql (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="org.eclipse.persistence.jpa.jpql (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
</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 class="navBarCell1Rev">Package</li>
<li>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/jpa/dynamic/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/jpa/jpql/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.eclipse.persistence.jpa.jpql</h1>
<div class="docSummary">
<div class="block">This package contains the Hermes features (except the parser itself): semantic and grammatical
validations, content assist support, calculating the query result type or the possible type of
an input parameter, refactoring tools.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.AbstractEncapsulatedExpressionHelper.html" title="interface in org.eclipse.persistence.jpa.jpql">AbstractGrammarValidator.AbstractEncapsulatedExpressionHelper</a>&lt;T extends <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractEncapsulatedExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AbstractEncapsulatedExpression</a>&gt;</td>
<td class="colLast">
<div class="block">The root helper that validates any <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractEncapsulatedExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>AbstractEncapsulatedExpression</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/EclipseLinkSemanticValidatorExtension.html" title="interface in org.eclipse.persistence.jpa.jpql">EclipseLinkSemanticValidatorExtension</a></td>
<td class="colLast">
<div class="block">This extension provides additional support to semantic validation by adding support for non-JPA
specific artifacts, such as database objects.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/ITypeHelper.html" title="interface in org.eclipse.persistence.jpa.jpql">ITypeHelper</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/JPQLQueryDeclaration.html" title="interface in org.eclipse.persistence.jpa.jpql">JPQLQueryDeclaration</a></td>
<td class="colLast">
<div class="block">A <code>JPQLQueryDeclaration</code> represents either an identification variable declaration or a
collection member declaration.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/JPQLQueryProblem.html" title="interface in org.eclipse.persistence.jpa.jpql">JPQLQueryProblem</a></td>
<td class="colLast">
<div class="block">A problem describes an issue found in a JPQL query because it is either grammatically or
semantically incorrect.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/JPQLQueryProblemMessages.html" title="interface in org.eclipse.persistence.jpa.jpql">JPQLQueryProblemMessages</a></td>
<td class="colLast">
<div class="block">The list of messages used by <a href="../../../../../org/eclipse/persistence/jpa/jpql/JPQLQueryProblem.html" title="interface in org.eclipse.persistence.jpa.jpql"><code>JPQLQueryProblems</code></a> when validating a JPQL query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/SemanticValidatorHelper.html" title="interface in org.eclipse.persistence.jpa.jpql">SemanticValidatorHelper</a></td>
<td class="colLast">
<div class="block">This helper is used by <a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.html" title="class in org.eclipse.persistence.jpa.jpql"><code>AbstractSemanticValidator</code></a> in order to retrieve JPA information.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractEclipseLinkParameterTypeVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractEclipseLinkParameterTypeVisitor</a></td>
<td class="colLast">
<div class="block">This visitor calculates the type of an input parameter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractEclipseLinkSemanticValidator.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractEclipseLinkSemanticValidator</a></td>
<td class="colLast">
<div class="block">This validator is responsible to gather the problems found in a JPQL query by validating the
content to make sure it is semantically valid for EclipseLink.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractEclipseLinkSemanticValidator.EclipseLinkOwningClauseVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractEclipseLinkSemanticValidator.EclipseLinkOwningClauseVisitor</a></td>
<td class="colLast">
<div class="block">This visitor retrieves the clause owning the visited <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractEclipseLinkSemanticValidator.SubquerySelectItemCalculator.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractEclipseLinkSemanticValidator.SubquerySelectItemCalculator</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractEclipseLinkSemanticValidator.TableExpressionVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractEclipseLinkSemanticValidator.TableExpressionVisitor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractEclipseLinkSemanticValidator.TopLevelFirstDeclarationVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractEclipseLinkSemanticValidator.TopLevelFirstDeclarationVisitor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractGrammarValidator</a></td>
<td class="colLast">
<div class="block">The base validator responsible to gather the problems found in a JPQL query by validating it
against the provided JPQL grammar.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.AbstractCollectionValidator.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractGrammarValidator.AbstractCollectionValidator</a></td>
<td class="colLast">
<div class="block">This validate is responsible to validate the collection of <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expressions</code></a>:
Making sure they are all separated by a comma or by a space (depending on which one is
required);
Making sure it does not end with a comma;
There is no empty expression between two commas.
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper</a>&lt;T extends <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractDoubleEncapsulatedExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AbstractDoubleEncapsulatedExpression</a>&gt;</td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper</a>&lt;T extends <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractSingleEncapsulatedExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AbstractSingleEncapsulatedExpression</a>&gt;</td>
<td class="colLast">
<div class="block">The abstract implementation of <a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper.html" title="class in org.eclipse.persistence.jpa.jpql"><code>AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper</code></a> which
implements some of the methods since the behavior is the same for all subclasses of
<a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractSingleEncapsulatedExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>AbstractSingleEncapsulatedExpression</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.AbstractTripleEncapsulatedExpressionHelper.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractGrammarValidator.AbstractTripleEncapsulatedExpressionHelper</a>&lt;T extends <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractTripleEncapsulatedExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AbstractTripleEncapsulatedExpression</a>&gt;</td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.CollectionExpressionVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractGrammarValidator.CollectionExpressionVisitor</a></td>
<td class="colLast">
<div class="block">This visitor retrieves the <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/CollectionExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>CollectionExpression</code></a> if it is visited.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.CollectionSeparatedByCommaValidator.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractGrammarValidator.CollectionSeparatedByCommaValidator</a></td>
<td class="colLast">
<div class="block">This validator validates a <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/CollectionExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>CollectionExpression</code></a> by making sure each item is separated
by a comma.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.CollectionSeparatedBySpaceValidator.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractGrammarValidator.CollectionSeparatedBySpaceValidator</a></td>
<td class="colLast">
<div class="block">This validator validates a <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/CollectionExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>CollectionExpression</code></a> by making sure each item is not
separated by a comma.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.ComparisonExpressionVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractGrammarValidator.ComparisonExpressionVisitor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.DateTimeVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractGrammarValidator.DateTimeVisitor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.NullExpressionVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractGrammarValidator.NullExpressionVisitor</a></td>
<td class="colLast">
<div class="block">This visitor checks to see if the visited expression is <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/NullExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>NullExpression</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractSemanticValidator</a></td>
<td class="colLast">
<div class="block">The base validator responsible to gather the problems found in a JPQL query by validating the
content to make sure it is semantically valid, i.e.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.CollectionValuedPathExpressionVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractSemanticValidator.CollectionValuedPathExpressionVisitor</a></td>
<td class="colLast">
<div class="block">This visitor is meant to retrieve an <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/CollectionValuedPathExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>CollectionValuedPathExpression</code></a> if the visited
<a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a> is that object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.ComparingEntityTypeLiteralVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractSemanticValidator.ComparingEntityTypeLiteralVisitor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.ComparisonExpressionVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractSemanticValidator.ComparisonExpressionVisitor</a></td>
<td class="colLast">
<div class="block">This visitor compares the left and right expressions of a comparison expression and gathers
information about those expressions if they are an identification variable or a path expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.FirstDeclarationVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractSemanticValidator.FirstDeclarationVisitor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.InItemsVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractSemanticValidator.InItemsVisitor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.StateFieldPathExpressionVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractSemanticValidator.StateFieldPathExpressionVisitor</a></td>
<td class="colLast">
<div class="block">This visitor is meant to retrieve an <a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.StateFieldPathExpressionVisitor.html" title="class in org.eclipse.persistence.jpa.jpql"><code>AbstractSemanticValidator.StateFieldPathExpressionVisitor</code></a> if the visited
<a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a> is that object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.SubqueryFirstDeclarationVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractSemanticValidator.SubqueryFirstDeclarationVisitor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.TopLevelFirstDeclarationVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractSemanticValidator.TopLevelFirstDeclarationVisitor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractValidator.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractValidator</a></td>
<td class="colLast">
<div class="block">The abstract definition of a validator, which provides helper methods and visitors.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractValidator.BypassChildCollectionExpressionVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractValidator.BypassChildCollectionExpressionVisitor</a></td>
<td class="colLast">
<div class="block">This visitor is responsible to traverse the children of a <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/CollectionExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>CollectionExpression</code></a> in
order to properly validate the <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractValidator.BypassParentSubExpressionVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractValidator.BypassParentSubExpressionVisitor</a></td>
<td class="colLast">
<div class="block">This visitor is responsible to traverse the parent hierarchy and to skip <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/SubExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>SubExpression</code></a>
if it's a parent.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractValidator.ChildrenCollectorVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractValidator.ChildrenCollectorVisitor</a></td>
<td class="colLast">
<div class="block">This visitor gathers the children of a <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/CollectionExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>CollectionExpression</code></a> or a single visited
<a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractValidator.JPQLQueryBNFValidator.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractValidator.JPQLQueryBNFValidator</a></td>
<td class="colLast">
<div class="block">This visitor validates any <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a> by checking its BNF against some BNFs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractValidator.NestedArrayVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractValidator.NestedArrayVisitor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractValidator.OwningClauseVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractValidator.OwningClauseVisitor</a></td>
<td class="colLast">
<div class="block">This visitor retrieves the clause owning the visited <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractValidator.OwningStatementVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractValidator.OwningStatementVisitor</a></td>
<td class="colLast">
<div class="block">This visitor retrieves the statement owning the visited <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractValidator.SubqueryVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractValidator.SubqueryVisitor</a></td>
<td class="colLast">
<div class="block">This visitor retrieves the statement owning the visited <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/Assert.html" title="class in org.eclipse.persistence.jpa.jpql">Assert</a></td>
<td class="colLast">
<div class="block">An utility class that provides various checks and when the condition fails, then an <a href="../../../../../org/eclipse/persistence/jpa/jpql/Assert.AssertException.html" title="class in org.eclipse.persistence.jpa.jpql"><code>Assert.AssertException</code></a> is thrown.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/BaseDeclarationIdentificationVariableFinder.html" title="class in org.eclipse.persistence.jpa.jpql">BaseDeclarationIdentificationVariableFinder</a></td>
<td class="colLast">
<div class="block">This visitor traverses the parsed tree and retrieves the <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/IdentificationVariable.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>IdentificationVariable</code></a>
defined in the base range variable declaration for the top-level statement if and only if the
query is a <code><b>DELETE</b></code> or <code><b>UPDATE</b></code> query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/EclipseLinkGrammarValidator.html" title="class in org.eclipse.persistence.jpa.jpql">EclipseLinkGrammarValidator</a></td>
<td class="colLast">
<div class="block">This validator adds EclipseLink extension over what the JPA functional specification had defined.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/EclipseLinkGrammarValidator.InExpressionVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">EclipseLinkGrammarValidator.InExpressionVisitor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/EclipseLinkGrammarValidator.InExpressionWithNestedArrayVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">EclipseLinkGrammarValidator.InExpressionWithNestedArrayVisitor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/EclipseLinkLiteralVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">EclipseLinkLiteralVisitor</a></td>
<td class="colLast">
<div class="block">This visitor traverses an <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a>
and retrieves the "literal" value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/ExpressionTools.html" title="class in org.eclipse.persistence.jpa.jpql">ExpressionTools</a></td>
<td class="colLast">
<div class="block">A utility class containing various methods related to the Hermes parser.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/JPQLQueryProblemResourceBundle.html" title="class in org.eclipse.persistence.jpa.jpql">JPQLQueryProblemResourceBundle</a></td>
<td class="colLast">
<div class="block">The resource bundle containing the problems encountered in a JPQL query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/LiteralVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">LiteralVisitor</a></td>
<td class="colLast">
<div class="block">This visitor traverses an <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a>
and retrieves the "literal" value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/ParameterTypeVisitor.html" title="class in org.eclipse.persistence.jpa.jpql">ParameterTypeVisitor</a></td>
<td class="colLast">
<div class="block">This visitor calculates the type of an input parameter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/WordParser.html" title="class in org.eclipse.persistence.jpa.jpql">WordParser</a></td>
<td class="colLast">
<div class="block">This "parser/scanner" holds onto the string version of the JPQL query that is parsed into a
parsed tree.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.PathType.html" title="enum in org.eclipse.persistence.jpa.jpql">AbstractSemanticValidator.PathType</a></td>
<td class="colLast">
<div class="block">This enumeration allows <a href="../../../../../org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.html#validateStateFieldPathExpression-org.eclipse.persistence.jpa.jpql.parser.StateFieldPathExpression-org.eclipse.persistence.jpa.jpql.AbstractSemanticValidator.PathType-"><code>AbstractSemanticValidator.validateStateFieldPathExpression(
StateFieldPathExpression, PathType)</code></a> to validate the type of the mapping and to make sure it
is allowed based on its location.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/EclipseLinkVersion.html" title="enum in org.eclipse.persistence.jpa.jpql">EclipseLinkVersion</a></td>
<td class="colLast">
<div class="block">An enumeration listing the various releases of EclipseLink.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/JPAVersion.html" title="enum in org.eclipse.persistence.jpa.jpql">JPAVersion</a></td>
<td class="colLast">
<div class="block">An enumeration listing the various releases of the Java Persistence specification.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/JPQLQueryDeclaration.Type.html" title="enum in org.eclipse.persistence.jpa.jpql">JPQLQueryDeclaration.Type</a></td>
<td class="colLast">
<div class="block">This enum type defines the various types of declarations supported by both the JPA functional
specification and EclipseLink.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/LiteralType.html" title="enum in org.eclipse.persistence.jpa.jpql">LiteralType</a></td>
<td class="colLast">
<div class="block">Some <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a> can have a "literal",
this enumeration is used to visit an <a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a> and to retrieve the right value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/WordParser.WordType.html" title="enum in org.eclipse.persistence.jpa.jpql">WordParser.WordType</a></td>
<td class="colLast">
<div class="block">This enumeration determines the type of word that was scanned.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Exception</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/persistence/jpa/jpql/Assert.AssertException.html" title="class in org.eclipse.persistence.jpa.jpql">Assert.AssertException</a></td>
<td class="colLast">
<div class="block">The exception thrown when the condition is not met.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.eclipse.persistence.jpa.jpql Description">Package org.eclipse.persistence.jpa.jpql Description</h2>
<div class="block">This package contains the Hermes features (except the parser itself): semantic and grammatical
validations, content assist support, calculating the query result type or the possible type of
an input parameter, refactoring tools.</div>
</div>
<!-- ======= 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 class="navBarCell1Rev">Package</li>
<li>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/jpa/dynamic/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/eclipse/persistence/jpa/jpql/parser/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/jpa/jpql/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<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>