<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.2) on Wed Apr 22 10:19:16 CDT 2020 -->
<title>org.eclipse.persistence.jpa.jpql.tools.model.query (EclipseLink 3.0.0, API Reference)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2020-04-22">
<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../../../../jquery/jquery-ui.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.tools.model.query (EclipseLink 3.0.0, API Reference)";
        }
    }
    catch(err) {
    }
//-->
var pathtoroot = "../../../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../../index.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.0, API Reference</div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.eclipse.persistence.jpa.jpql.tools.model.query</h1>
</div>
<div class="contentContainer">
<section role="region"><a id="package.description">
<!--   -->
</a>
<div class="block">This package contains the <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> classes that represents a JPQL query.</div>
</section>
<ul class="blockList">
<li class="blockList">
<table class="typeSummary">
<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">
<th class="colFirst" scope="row"><a href="DeclarationStateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query">DeclarationStateObject</a></th>
<td class="colLast">
<div class="block">This defines the declaration portion of a query, which is the <code><b>FROM</b></code> clause
 of a query.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="EclipseLinkStateObjectVisitor.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query">EclipseLinkStateObjectVisitor</a></th>
<td class="colLast">
<div class="block">The interface is used to traverse the <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> hierarchy that represents a JPQL
 query as well as what EclipseLink adds on top of the basic grammar.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ListHolderStateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query">ListHolderStateObject</a>&lt;T&gt;</th>
<td class="colLast">
<div class="block">A <code>ListHolderStateObject</code> is a <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> having a list of children and this
 gives access to some operation over the list.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query">StateObject</a></th>
<td class="colLast">
<div class="block">A <code>StateObject</code> is an editable representation of a JPQL query.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="StateObjectProblem.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query">StateObjectProblem</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="StateObjectVisitor.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query">StateObjectVisitor</a></th>
<td class="colLast">
<div class="block">The visitor is used to traverse the <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> hierarchy that represents a JPQL query.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="VariableDeclarationStateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query">VariableDeclarationStateObject</a></th>
<td class="colLast">
<div class="block">This defines a variable declaration, which has a "root" object and an identification variable.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary">
<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">
<th class="colFirst" scope="row"><a href="AbsExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbsExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>ABS</b></code> function removes the minus sign from a specified argument and returns
 the absolute value, which is always a positive number or zero.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AbstractConditionalClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractConditionalClauseStateObject</a></th>
<td class="colLast">
<div class="block">Conditional expressions are composed of other conditional expressions, comparison operations,
 logical operations, path expressions that evaluate to boolean values, boolean literals, and
 boolean input parameters.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AbstractDoubleEncapsulatedExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractDoubleEncapsulatedExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> represents a JPQL expression that has a JPQL identifier followed by
 two an encapsulated expression with parenthesis, the two expression are separated by a comma.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AbstractEclipseLinkStateObjectVisitor.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractEclipseLinkStateObjectVisitor</a></th>
<td class="colLast">
<div class="block">The abstract definition of <a href="EclipseLinkStateObjectVisitor.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>EclipseLinkStateObjectVisitor</code></a>, which implements all the
 methods but does nothing.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AbstractEclipseLinkTraverseChildrenVisitor.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractEclipseLinkTraverseChildrenVisitor</a></th>
<td class="colLast">
<div class="block">This <a href="StateObjectVisitor.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObjectVisitor</code></a> traverses the entire hierarchy of the JPQL parsed tree by going
 down into each of the children of any given <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AbstractEclipseLinkTraverseParentVisitor.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractEclipseLinkTraverseParentVisitor</a></th>
<td class="colLast">
<div class="block">This <a href="StateObjectVisitor.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObjectVisitor</code></a> traverses up the hierarchy.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AbstractEncapsulatedExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractEncapsulatedExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This expression handles parsing the identifier followed by an expression encapsulated within
 parenthesis.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AbstractFromClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractFromClauseStateObject</a></th>
<td class="colLast">
<div class="block">This state object represents the abstract definition of a <code><b>FROM</b></code> clause, which
 is either the <code>FROM</code> clause of the query or of a sub-query expression.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AbstractIdentificationVariableDeclarationStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractIdentificationVariableDeclarationStateObject</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AbstractListHolderStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractListHolderStateObject</a>&lt;T extends <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query">StateObject</a>&gt;</th>
<td class="colLast">
<div class="block">The abstraction definition of a <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> that holds onto a list of children, the
 methods defined in <a href="ListHolderStateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>ListHolderStateObject</code></a> are automatically handled here.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AbstractModifyClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractModifyClauseStateObject</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AbstractModifyStatementStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractModifyStatementStateObject</a></th>
<td class="colLast">
<div class="block">The abstract definition of a modify statement.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AbstractPathExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractPathExpressionStateObject</a></th>
<td class="colLast">
<div class="block">An identification variable followed by the navigation operator (.) and a state field or
 association field is a path expression.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AbstractRangeVariableDeclarationStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractRangeVariableDeclarationStateObject</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AbstractSchemaNameStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractSchemaNameStateObject</a></th>
<td class="colLast">
<div class="block">An abstract schema name designates the abstract schema type over which the query ranges.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AbstractSelectClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractSelectClauseStateObject</a></th>
<td class="colLast">
<div class="block">This state object represents the abstract definition of a <code><b>SELECT</b></code> clause,
 which is either the <code>SELECT</code> clause of the top-level query or of a subquery.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AbstractSelectStatementStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractSelectStatementStateObject</a></th>
<td class="colLast">
<div class="block">This state object represents the select statement, which has at least a <code><b>SELECT</b></code>
 clause and a <code><b>FROM</b></code> clause.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AbstractSingleEncapsulatedExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractSingleEncapsulatedExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> represents a JPQL expression that has a JPQL identifier followed by
 an encapsulated expression with parenthesis.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AbstractStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractStateObject</a></th>
<td class="colLast">
<div class="block">The abstract definition of a <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AbstractStateObjectVisitor.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractStateObjectVisitor</a></th>
<td class="colLast">
<div class="block">The abstract definition of <a href="StateObjectVisitor.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObjectVisitor</code></a>, which implements all the methods but does
 nothing.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AbstractTraverseChildrenVisitor.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractTraverseChildrenVisitor</a></th>
<td class="colLast">
<div class="block">This <a href="StateObjectVisitor.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObjectVisitor</code></a> traverses the entire hierarchy of the JPQL parsed tree by going
 down into each of the children of any given <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AbstractTraverseParentVisitor.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractTraverseParentVisitor</a></th>
<td class="colLast">
<div class="block">This <a href="StateObjectVisitor.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObjectVisitor</code></a> traverses up the hierarchy.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AbstractTripleEncapsulatedExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AbstractTripleEncapsulatedExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This state object takes care of parsing an expression that encapsulates three expressions
 separated by a comma.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AdditionExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AdditionExpressionStateObject</a></th>
<td class="colLast">
<div class="block">TODO:

 <b>BNF:</b> <code>arithmetic_expression ::= arithmetic_expression + arithmetic_term</code></div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AggregateFunctionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AggregateFunctionStateObject</a></th>
<td class="colLast">
<div class="block">In the <code><b>SELECT</b></code> clause the result of a query may be the result of an aggregate
 function applied to a path expression.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AllOrAnyExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AllOrAnyExpressionStateObject</a></th>
<td class="colLast">
<div class="block">An <code><b>ALL</b></code> conditional expression is a predicate that is <code>true</code> if the
 comparison operation is <code>true</code> for all values in the result of the subquery or the
 result of the subquery is empty.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AndExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AndExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>AND</b></code> logical operator chains multiple criteria together.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AnonymousStateObjectVisitor.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AnonymousStateObjectVisitor</a></th>
<td class="colLast">
<div class="block">This visitor allows a subclass to simply override <a href="AnonymousStateObjectVisitor.html#visit(org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject)"><code>AnonymousStateObjectVisitor.visit(StateObject)</code></a> and perform the
 same task for all visited <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>ItateObjects</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AnonynousEclipseLinkStateObjectVisitor.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AnonynousEclipseLinkStateObjectVisitor</a></th>
<td class="colLast">
<div class="block">This visitor allows a subclass to simply override <a href="AnonymousStateObjectVisitor.html#visit(org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject)"><code>AnonymousStateObjectVisitor.visit(StateObject)</code></a> and perform the
 same task for all visited <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>ItateObjects</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ArithmeticExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">ArithmeticExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This expression represents an arithmetic expression, which means the first and second expressions
 are aggregated with an arithmetic sign.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ArithmeticFactorStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">ArithmeticFactorStateObject</a></th>
<td class="colLast">
<div class="block">This state object simply adds a plus or minus sign to the arithmetic primary expression.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AvgFunctionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">AvgFunctionStateObject</a></th>
<td class="colLast">
<div class="block">One of the aggregate functions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="BadExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">BadExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This wraps an invalid portion of the JPQL query that could not be parsed.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="BetweenExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">BetweenExpressionStateObject</a></th>
<td class="colLast">
<div class="block">Used in conditional expression to determine whether the result of an expression falls within an
 inclusive range of values.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="CaseExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">CaseExpressionStateObject</a></th>
<td class="colLast">
<div class="block">A <code><b>CASE</b></code> predicate is used to calculate a condition and when it's <code>true</code>,
 its <code><b>THEN</b></code> expression will be executed.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ChangeSupport.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">ChangeSupport</a></th>
<td class="colLast">
<div class="block">This <code>ChangeSupport</code> is responsible to notifies registered listeners upon changes made
 to a <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a>, those changes are either a property has changed (<a href="../IPropertyChangeListener.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model"><code>IPropertyChangeListener</code></a>)
 or the content of a list has changed (<a href="../IListChangeListener.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model"><code>IListChangeListener</code></a>).</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="CoalesceExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">CoalesceExpressionStateObject</a></th>
<td class="colLast">
<div class="block">A <code><b>COALESCE</b></code> expression returns <code>null</code> if all its arguments evaluate
 to <code>null</code>, and the value of the first non-<code>null</code> argument otherwise.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="CollectionExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">CollectionExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> is a temporary object used to store a list of <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObjects</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="CollectionMemberDeclarationStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">CollectionMemberDeclarationStateObject</a></th>
<td class="colLast">
<div class="block">An identification variable declared by a <code>collection_member_declaration</code> ranges over
 values of a collection obtained by navigation using a path expression.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="CollectionMemberExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">CollectionMemberExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This expression tests whether the designated value is a member of the collection specified by the
 collection-valued path expression.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="CollectionValuedPathExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">CollectionValuedPathExpressionStateObject</a></th>
<td class="colLast">
<div class="block">A collection-valued field is designated by the name of an association field in a one-to-many or a
 many-to-many relationship or by the name of an element collection field.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ComparisonExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">ComparisonExpressionStateObject</a></th>
<td class="colLast">
<div class="block">Only the values of like types are permitted to be compared.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="CompoundExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">CompoundExpressionStateObject</a></th>
<td class="colLast">
<div class="block">A compound <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> has a left and right expressions combined by an identifier.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ConcatExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">ConcatExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>CONCAT</b></code> function returns a string that is a concatenation of its arguments.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ConstructorExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">ConstructorExpressionStateObject</a></th>
<td class="colLast">
<div class="block">In the <code><b>SELECT</b></code> clause a constructor may be used in the <code><b>SELECT</b></code>
 list to return one or more Java instances.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="CountFunctionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">CountFunctionStateObject</a></th>
<td class="colLast">
<div class="block">One of the aggregate functions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="DateTimeStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">DateTimeStateObject</a></th>
<td class="colLast">
<div class="block">This <a href="DateTimeStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>DateTimeStateObject</code></a> represents a date or time.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="DeleteClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">DeleteClauseStateObject</a></th>
<td class="colLast">
<div class="block">This is the <code><b>DELETE</b></code> clause of the <code><b>DELETE</b></code> statement.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="DeleteStatementStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">DeleteStatementStateObject</a></th>
<td class="colLast">
<div class="block">Bulk delete operation apply to entities of a single entity class (together with its subclasses,
 if any).</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="DerivedPathIdentificationVariableDeclarationStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">DerivedPathIdentificationVariableDeclarationStateObject</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="DerivedPathVariableDeclarationStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">DerivedPathVariableDeclarationStateObject</a></th>
<td class="colLast">
<div class="block"><b>BNF:</b> <code>subselect_identification_variable_declaration ::= derived_path_expression [AS] identification_variable {join}*</code></div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="DivisionExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">DivisionExpressionStateObject</a></th>
<td class="colLast">
<div class="block">TODO:

 <b>BNF:</b> <code>arithmetic_expression ::= arithmetic_expression / arithmetic_term</code></div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="EmptyCollectionComparisonExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">EmptyCollectionComparisonExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This expression tests whether or not the collection designated by the collection-valued path
 expression is empty (i.e, has no elements).</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="EncapsulatedIdentificationVariableExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">EncapsulatedIdentificationVariableExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This object represents an identification variable that is wrapped by a function.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="EntityTypeLiteralStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">EntityTypeLiteralStateObject</a></th>
<td class="colLast">
<div class="block">This <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> wraps the name of an entity type.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="EntryExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">EntryExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This object represents an identification variable that maps the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Map.Entry</code></a>)
 of a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Map</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="EnumTypeStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">EnumTypeStateObject</a></th>
<td class="colLast">
<div class="block">This <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> wraps the name of an <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Enum</code></a> constant.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ExistsExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">ExistsExpressionStateObject</a></th>
<td class="colLast">
<div class="block">An <code><b>EXISTS</b></code> expression is a predicate that is <code>true</code> only if the
 result of the subquery consists of one or more values and that is <code>false</code> otherwise.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="FromClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">FromClauseStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>FROM</b></code> clause of a query defines the domain of the query by declaring
 identification variables.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="FunctionExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">FunctionExpressionStateObject</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="GroupByClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">GroupByClauseStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>GROUP BY</b></code> construct enables the aggregation of values according to the
 properties of an entity class.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="HavingClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">HavingClauseStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>HAVING</b></code> construct enables conditions to be specified that further restrict
 the query result as restrictions upon the groups.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="IdentificationVariableDeclarationStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">IdentificationVariableDeclarationStateObject</a></th>
<td class="colLast">
<div class="block">An identification variable is a valid identifier declared in the <code><b>FROM</b></code> clause
 of a query.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="IdentificationVariableStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">IdentificationVariableStateObject</a></th>
<td class="colLast">
<div class="block">This state object represents a single identification variable, which is identifying TODO.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="IndexExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">IndexExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>INDEX</b></code> function returns an integer value corresponding to the position of
 its argument in an ordered list.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="InExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">InExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The state field path expression must have a string, numeric, or enum value.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="InputParameterStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">InputParameterStateObject</a></th>
<td class="colLast">
<div class="block">Either positional or named parameters may be used.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="JoinStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">JoinStateObject</a></th>
<td class="colLast">
<div class="block">A <code><b>JOIN</b></code> enables the fetching of an association as a side effect of the
 execution of a query.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="JPQLQueryStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">JPQLQueryStateObject</a></th>
<td class="colLast">
<div class="block">This is the root of the <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> hierarchy that represents a JPQL query.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="KeyExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">KeyExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This object represents an identification variable that maps the keys of a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Map</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="KeywordExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">KeywordExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The expression representing some keywords: <code>TRUE</code>, <code>FALSE</code> or <code>NULL</code>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="LengthExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">LengthExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>LENGTH</b></code> function returns the length of the string in characters as an integer.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="LikeExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">LikeExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>LIKE</b></code> condition is used to specify a search for a pattern.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="LocateExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">LocateExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>LOCATE</b></code> function returns the position of a given string within a string,
 starting the search at a specified position.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="LogicalExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">LogicalExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This expression represents a logical expression, which means the first and second expressions are
 aggregated with either the <code><b>AND</b></code> or the <code><b>OR</b></code> operator.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="LowerExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">LowerExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>LOWER</b></code> function converts a string to lower case and it returns a string.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="MaxFunctionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">MaxFunctionStateObject</a></th>
<td class="colLast">
<div class="block">One of the aggregate functions.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="MinFunctionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">MinFunctionStateObject</a></th>
<td class="colLast">
<div class="block">One of the aggregate functions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ModExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">ModExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The modulo operation finds the remainder of division of one number by another.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="MultiplicationExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">MultiplicationExpressionStateObject</a></th>
<td class="colLast">
<div class="block">TODO:

 <b>BNF:</b> <code>arithmetic_expression ::= arithmetic_expression * arithmetic_term</code></div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="NotExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">NotExpressionStateObject</a></th>
<td class="colLast">
<div class="block"><b>BNF:</b> <code>expression ::= NOT conditional_primary</code></div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="NullComparisonExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">NullComparisonExpressionStateObject</a></th>
<td class="colLast">
<div class="block">A null comparison tests whether or not the single-valued path expression or input parameter is a
 <code><b>NULL</b></code> value.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="NullIfExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">NullIfExpressionStateObject</a></th>
<td class="colLast">
<div class="block"><code><b>NULLIF</b></code> returns the first expression if the two expressions are not equal.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="NumericLiteralStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">NumericLiteralStateObject</a></th>
<td class="colLast">
<div class="block">Exact numeric literals support the use of Java integer literal syntax as well as SQL exact
 numeric literal syntax.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ObjectExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">ObjectExpressionStateObject</a></th>
<td class="colLast">
<div class="block">Stand-alone identification variables in the <code><b>SELECT</b></code> clause may optionally be
 qualified by the <code><b>OBJECT</b></code> operator.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="OrderByClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">OrderByClauseStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>ORDER BY</b></code> clause allows the objects or values that are returned by the
 query to be ordered.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="OrderByItemStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">OrderByItemStateObject</a></th>
<td class="colLast">
<div class="block">An <code><b>ORDER BY</b></code> item must be one of the following:
 
  A <a href="StateFieldPathExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>state_field_path_expression</code></a> that evaluates to
 an orderable state field of an entity or embeddable class abstract schema type designated in the
 <code><b>SELECT</b></code> clause by one of the following:
   
   A general_identification_variable
   A single_valued_object_path_expression
   
 A <a href="StateFieldPathExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>state_field_path_expression</code></a> that evaluates to
 the same state field of the same entity or embeddable abstract schema type as a <a href="StateFieldPathExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>state_field_path_expression</code></a> in the <b>SELECT</b> clause
 A <a href="ResultVariableStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>result_variable</code></a> that refers to an orderable item in the
 <code><b>SELECT</b></code> clause for which the same <a href="ResultVariableStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>result_variable</code></a>
 has been specified.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="OrExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">OrExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>OR</b></code> logical operator chains multiple criteria together.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="RangeVariableDeclarationStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">RangeVariableDeclarationStateObject</a></th>
<td class="colLast">
<div class="block">Range variable declarations allow the developer to designate a "root" for objects which may not
 be reachable by navigation.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ResultVariableStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">ResultVariableStateObject</a></th>
<td class="colLast">
<div class="block">A result variable may be used to name a select item in the query result.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SelectClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">SelectClauseStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>SELECT</b></code> statement queries data from entities, which determines the type of
 the objects or values to be selected.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SelectStatementStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">SelectStatementStateObject</a></th>
<td class="colLast">
<div class="block">This state object represents a select statement, which has at least a <code><b>SELECT</b></code>
 clause and a <code><b>FROM</b></code> clause.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SimpleFromClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">SimpleFromClauseStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>FROM</b></code> clause of a sub-query defines the domain of the sub-query by
 declaring identification variables.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SimpleSelectClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">SimpleSelectClauseStateObject</a></th>
<td class="colLast">
<div class="block">The <b>SELECT</b> statement queries data from entities.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SimpleSelectStatementStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">SimpleSelectStatementStateObject</a></th>
<td class="colLast">
<div class="block">This state object represents a subquery, which has at least a <code><b>SELECT</b></code> clause
 and a <code><b>FROM</b></code> clause.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SimpleStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">SimpleStateObject</a></th>
<td class="colLast">
<div class="block">This <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> simply holds onto a string.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SizeExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">SizeExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>SIZE</b></code> function returns an integer value, the number of elements of the
 collection.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SqrtExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">SqrtExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>SQRT</b></code> function takes a numeric argument and returns a <code>Double</code>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="StateFieldPathExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">StateFieldPathExpressionStateObject</a></th>
<td class="colLast">
<div class="block">A single-valued association field is designated by the name of an association-field in a
 one-to-one or many-to-one relationship.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="StateFieldPathExpressionStateObject.MapManagedType.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">StateFieldPathExpressionStateObject.MapManagedType</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="StringLiteralStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">StringLiteralStateObject</a></th>
<td class="colLast">
<div class="block">A string literal is enclosed in single quotes.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SubExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">SubExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This expression wraps a sub-expression within parenthesis.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SubstringExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">SubstringExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The second and third arguments of the <code><b>SUBSTRING</b></code> function denote the starting
 position and length of the substring to be returned.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SubtractionExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">SubtractionExpressionStateObject</a></th>
<td class="colLast">
<div class="block">TODO:

 <b>BNF:</b> <code>arithmetic_expression ::= arithmetic_expression - arithmetic_term</code></div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SumFunctionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">SumFunctionStateObject</a></th>
<td class="colLast">
<div class="block">One of the aggregate functions.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="TreatExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">TreatExpressionStateObject</a></th>
<td class="colLast">
<div class="block">Returns an expression that allows to treat its base as if it were a subclass of the class
 returned by the base.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="TrimExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">TrimExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>TRIM</b></code> function trims the specified character from a string.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="TypeExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">TypeExpressionStateObject</a></th>
<td class="colLast">
<div class="block">An entity type expression can be used to restrict query polymorphism.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="UnknownExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">UnknownExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This <a href="StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> holds onto an unknown portion of a JPQL query that could not be parsed.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="UpdateClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">UpdateClauseStateObject</a></th>
<td class="colLast">
<div class="block">This is the <code><b>UPDATE</b></code> clause of the <code><b>UPDATE</b></code> statement.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="UpdateItemStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">UpdateItemStateObject</a></th>
<td class="colLast">
<div class="block">The <code>new_value</code> specified for an update operation must be compatible in type with the
 field to which it is assigned.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="UpdateStatementStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">UpdateStatementStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>UPDATE</b></code> clause of a query consists of a conditional expression used to
 select objects or values that satisfy the expression.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="UpperExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">UpperExpressionStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>UPPER</b></code> function converts a string to upper case and it returns a string.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ValueExpressionStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">ValueExpressionStateObject</a></th>
<td class="colLast">
<div class="block">This object represents an identification variable that maps the values of a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Map</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="WhenClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">WhenClauseStateObject</a></th>
<td class="colLast">
<div class="block">A <code><b>WHEN</b></code> predicate is used to calculate a condition and when it's true, its
 <code><b>THEN</b></code> will be executed.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="WhereClauseStateObject.html" title="class in org.eclipse.persistence.jpa.jpql.tools.model.query">WhereClauseStateObject</a></th>
<td class="colLast">
<div class="block">The <code><b>WHERE</b></code> clause of a query consists of a conditional expression used to
 select objects or values that satisfy the expression.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../../index.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.0, API Reference</div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2017&#x2013;2020 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
