blob: 7905217abba12986fcc24603a5f4bfe15e89b94d [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_252) on Fri Jul 16 09:38:45 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EclipseLinkJPQLGrammar2_4 (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="EclipseLinkJPQLGrammar2_4 (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_3.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_5.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html" target="_top">Frames</a></li>
<li><a href="EclipseLinkJPQLGrammar2_4.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.persistence.jpa.jpql.parser</div>
<h2 title="Class EclipseLinkJPQLGrammar2_4" class="title">Class EclipseLinkJPQLGrammar2_4</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html" title="class in org.eclipse.persistence.jpa.jpql.parser">org.eclipse.persistence.jpa.jpql.parser.AbstractJPQLGrammar</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar2_4</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser">JPQLGrammar</a></dd>
</dl>
<hr>
<br>
<pre>public final class <span class="typeNameLabel">EclipseLinkJPQLGrammar2_4</span>
extends <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AbstractJPQLGrammar</a></pre>
<div class="block"><p>This <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a> provides support for parsing JPQL queries defined in <a
href="http://jcp.org/en/jsr/detail?id=317">JSR-338 - Java Persistence 2.1</a> and the additional
support provided by EclipseLink 2.4.</p>
The BNFs of the additional support are the following:
<pre><code> select_statement ::= select_clause from_clause [where_clause] [groupby_clause] [having_clause] [orderby_clause] {union_clause}*
union_clause ::= { UNION | INTERSECT | EXCEPT} [ALL] subquery
from_clause ::= FROM identification_variable_declaration {, {identification_variable_declaration |
collection_member_declaration |
(subquery) |
table_variable_declaration }}*
range_variable_declaration ::= root_object [AS] identification_variable
root_object ::= abstract_schema_name | fully_qualified_class_name
table_variable_declaration ::= table_expression [AS] identification_variable
join ::= join_spec { abstract_schema_name | join_association_path_expression } [AS] identification_variable [join_condition]
functions_returning_datetime ::= cast_expression |
extract_expression |
...
functions_returning_string ::= cast_expression |
extract_expression |
...
functions_returning_numeric ::= cast_expression |
extract_expression |
...
simple_cond_expression ::= regexp_expression |
...
function_expression ::= { FUNC | FUNCTION | OPERATOR | SQL | COLUMN } (string_literal {, function_arg}*)
regexp_expression ::= string_expression REGEXP pattern_value
extract_expression ::= EXTRACT(date_part_literal [FROM] scalar_expression)
table_expression ::= TABLE(string_literal)
date_part_literal ::= { MICROSECOND | SECOND | MINUTE | HOUR | DAY | WEEK | MONTH | QUARTER |
YEAR | SECOND_MICROSECOND | MINUTE_MICROSECOND | MINUTE_SECOND |
HOUR_MICROSECOND | HOUR_SECOND | HOUR_MINUTE | DAY_MICROSECOND |
DAY_SECOND | DAY_MINUTE | DAY_HOUR | YEAR_MONTH, etc }
cast_expression ::= CAST(scalar_expression [AS] database_type)
database_type ::= data_type_literal [( [numeric_literal [, numeric_literal]] )]
data_type_literal ::= [CHAR, VARCHAR, NUMERIC, INTEGER, DATE, TIME, TIMESTAMP, etc]</code></pre>
<p>Provisional API: This interface is part of an interim API that is still under development and
expected to change significantly before reaching stability. It is available at this early stage
to solicit feedback from pioneering adopters on the understanding that any code that uses this
API will almost certainly be broken (repeatedly) as the API evolves.</p></div>
<dl>
<dt><span class="simpleTagLabel">Version:</span></dt>
<dd>2.5</dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Pascal Filion</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.4</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../../org/eclipse/persistence/jpa/jpql/EclipseLinkVersion.html" title="enum in org.eclipse.persistence.jpa.jpql">EclipseLinkVersion</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html#VERSION">VERSION</a></span></code>
<div class="block">The EclipseLink version, which is 2.4.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html#EclipseLinkJPQLGrammar2_4--">EclipseLinkJPQLGrammar2_4</a></span>()</code>
<div class="block">Creates a new <code>EclipseLinkJPQLGrammar2_4</code>.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser">JPQLGrammar</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html#buildBaseGrammar--">buildBaseGrammar</a></span>()</code>
<div class="block">Creates the base <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a> this one extends, if one exists.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html#extend-org.eclipse.persistence.jpa.jpql.parser.AbstractJPQLGrammar-">extend</a></span>(<a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AbstractJPQLGrammar</a>&nbsp;jpqlGrammar)</code>
<div class="block">Extends the given <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a> with the information of this one without instantiating
the base <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/eclipse/persistence/jpa/jpql/JPAVersion.html" title="enum in org.eclipse.persistence.jpa.jpql">JPAVersion</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html#getJPAVersion--">getJPAVersion</a></span>()</code>
<div class="block">Returns the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/JPAVersion.html" title="enum in org.eclipse.persistence.jpa.jpql"><code>JPAVersion</code></a> of the Java Persistence supported by this grammar.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html#getProvider--">getProvider</a></span>()</code>
<div class="block">Returns the persistence provider name.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html#getProviderVersion--">getProviderVersion</a></span>()</code>
<div class="block">Returns the version of the persistence provider.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html#initializeBNFs--">initializeBNFs</a></span>()</code>
<div class="block">Registers the JPQL query BNFs defining the JPQL grammar.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html#initializeExpressionFactories--">initializeExpressionFactories</a></span>()</code>
<div class="block">Registers the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactories</code></a> required to properly parse JPQL
queries.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html#initializeIdentifiers--">initializeIdentifiers</a></span>()</code>
<div class="block">Registers the JPQL identifiers support by this <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a>.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser">JPQLGrammar</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html#instance--">instance</a></span>()</code>
<div class="block">Returns the singleton instance of this class.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html#toString--">toString</a></span>()</code></td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.jpa.jpql.parser.AbstractJPQLGrammar">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.persistence.jpa.jpql.parser.<a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AbstractJPQLGrammar</a></h3>
<code><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#addChildBNF-java.lang.String-java.lang.String-">addChildBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#addChildFactory-java.lang.String-java.lang.String-">addChildFactory</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#addIdentifier-java.lang.String-java.lang.String-">addIdentifier</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#addIdentifiers-java.lang.String-java.lang.String...-">addIdentifiers</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#buildExpressionRegistry--">buildExpressionRegistry</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#getBaseGrammar--">getBaseGrammar</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#getExpressionRegistry--">getExpressionRegistry</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#initialize--">initialize</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#registerBNF-org.eclipse.persistence.jpa.jpql.parser.JPQLQueryBNF-">registerBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#registerFactory-org.eclipse.persistence.jpa.jpql.parser.ExpressionFactory-">registerFactory</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#registerIdentifierRole-java.lang.String-org.eclipse.persistence.jpa.jpql.parser.IdentifierRole-">registerIdentifierRole</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#registerIdentifierVersion-java.lang.String-org.eclipse.persistence.jpa.jpql.JPAVersion-">registerIdentifierVersion</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#setFallbackBNFId-java.lang.String-java.lang.String-">setFallbackBNFId</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#setFallbackExpressionFactoryId-java.lang.String-java.lang.String-">setFallbackExpressionFactoryId</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#setHandleCollection-java.lang.String-boolean-">setHandleCollection</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#setHandleNestedArray-java.lang.String-boolean-">setHandleNestedArray</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#setHandleSubExpression-java.lang.String-boolean-">setHandleSubExpression</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="VERSION">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>VERSION</h4>
<pre>public static final&nbsp;<a href="../../../../../../org/eclipse/persistence/jpa/jpql/EclipseLinkVersion.html" title="enum in org.eclipse.persistence.jpa.jpql">EclipseLinkVersion</a> VERSION</pre>
<div class="block">The EclipseLink version, which is 2.4.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="EclipseLinkJPQLGrammar2_4--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>EclipseLinkJPQLGrammar2_4</h4>
<pre>public&nbsp;EclipseLinkJPQLGrammar2_4()</pre>
<div class="block">Creates a new <code>EclipseLinkJPQLGrammar2_4</code>.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="extend-org.eclipse.persistence.jpa.jpql.parser.AbstractJPQLGrammar-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extend</h4>
<pre>public static&nbsp;void&nbsp;extend(<a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AbstractJPQLGrammar</a>&nbsp;jpqlGrammar)</pre>
<div class="block">Extends the given <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a> with the information of this one without instantiating
the base <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>jpqlGrammar</code> - The <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a> to extend with the content of this one without
instantiating the base <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a></dd>
</dl>
</li>
</ul>
<a name="instance--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>instance</h4>
<pre>public static&nbsp;<a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser">JPQLGrammar</a>&nbsp;instance()</pre>
<div class="block">Returns the singleton instance of this class.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The singleton instance of <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>EclipseLinkJPQLGrammar2_4</code></a></dd>
</dl>
</li>
</ul>
<a name="buildBaseGrammar--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildBaseGrammar</h4>
<pre>protected&nbsp;<a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser">JPQLGrammar</a>&nbsp;buildBaseGrammar()</pre>
<div class="block">Creates the base <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a> this one extends, if one exists.
<p>
<b>IMPORTANT:</b> The singleton instance of any <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a> (for example <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar1_0.html#instance--"><code>JPQLGrammar1_0.instance()</code></a> cannot be used, the API does not support
extending it, a new instance has to be created.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#buildBaseGrammar--">buildBaseGrammar</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AbstractJPQLGrammar</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The base <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a> or <code>null</code> if there is no base grammar</dd>
</dl>
</li>
</ul>
<a name="getJPAVersion--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJPAVersion</h4>
<pre>public&nbsp;<a href="../../../../../../org/eclipse/persistence/jpa/jpql/JPAVersion.html" title="enum in org.eclipse.persistence.jpa.jpql">JPAVersion</a>&nbsp;getJPAVersion()</pre>
<div class="block">Returns the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/JPAVersion.html" title="enum in org.eclipse.persistence.jpa.jpql"><code>JPAVersion</code></a> of the Java Persistence supported by this grammar.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <a href="../../../../../../org/eclipse/persistence/jpa/jpql/JPAVersion.html" title="enum in org.eclipse.persistence.jpa.jpql"><code>JPA version</code></a> supported by this grammar</dd>
</dl>
</li>
</ul>
<a name="getProvider--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProvider</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getProvider()</pre>
<div class="block">Returns the persistence provider name.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The name of the persistence provider, <code>null</code> should never be returned</dd>
</dl>
</li>
</ul>
<a name="getProviderVersion--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProviderVersion</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getProviderVersion()</pre>
<div class="block">Returns the version of the persistence provider.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The version of the persistence provider, if one is extending the default JPQL grammar
defined in the Java Persistence specification, otherwise returns an empty string</dd>
</dl>
</li>
</ul>
<a name="initializeBNFs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeBNFs</h4>
<pre>protected&nbsp;void&nbsp;initializeBNFs()</pre>
<div class="block">Registers the JPQL query BNFs defining the JPQL grammar.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#initializeBNFs--">initializeBNFs</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AbstractJPQLGrammar</a></code></dd>
</dl>
</li>
</ul>
<a name="initializeExpressionFactories--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeExpressionFactories</h4>
<pre>protected&nbsp;void&nbsp;initializeExpressionFactories()</pre>
<div class="block">Registers the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactories</code></a> required to properly parse JPQL
queries. An <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> is responsible to create an <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a> object
that represents a portion of the JPQL query.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#initializeExpressionFactories--">initializeExpressionFactories</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AbstractJPQLGrammar</a></code></dd>
</dl>
</li>
</ul>
<a name="initializeIdentifiers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeIdentifiers</h4>
<pre>protected&nbsp;void&nbsp;initializeIdentifiers()</pre>
<div class="block">Registers the JPQL identifiers support by this <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a>. The registration
involves registering the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/JPAVersion.html" title="enum in org.eclipse.persistence.jpa.jpql"><code>JPAVersion</code></a> and the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/IdentifierRole.html" title="enum in org.eclipse.persistence.jpa.jpql.parser"><code>IdentifierRole</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html#initializeIdentifiers--">initializeIdentifiers</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractJPQLGrammar.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AbstractJPQLGrammar</a></code></dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_3.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_5.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/persistence/jpa/jpql/parser/EclipseLinkJPQLGrammar2_4.html" target="_top">Frames</a></li>
<li><a href="EclipseLinkJPQLGrammar2_4.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>