<!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>JPQLGrammar2_1 (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="JPQLGrammar2_1 (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/JPQLGrammar2_0.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/JPQLQueryBNF.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/JPQLGrammar2_1.html" target="_top">Frames</a></li>
<li><a href="JPQLGrammar2_1.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>Field&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>Field&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 JPQLGrammar2_1" class="title">Class JPQLGrammar2_1</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.JPQLGrammar2_1</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">JPQLGrammar2_1</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>.</p>

 The following is the JPQL grammar defined in JPA version 2.1.

 <pre><code> QL_statement ::= select_statement | update_statement | delete_statement

 select_statement ::= select_clause from_clause [where_clause] [groupby_clause] [having_clause] [orderby_clause]

 update_statement ::= update_clause [where_clause]

 delete_statement ::= delete_clause [where_clause]

 from_clause ::= FROM identification_variable_declaration {, {identification_variable_declaration | collection_member_declaration}}*

 identification_variable_declaration ::= range_variable_declaration { join | fetch_join }*

 range_variable_declaration ::= entity_name [AS] identification_variable

 join ::= join_spec join_association_path_expression [AS] identification_variable [join_condition]

 fetch_join ::= join_spec FETCH join_association_path_expression [join_condition]

 join_spec ::= [ LEFT [OUTER] | INNER ] JOIN

 join_condition ::= ON conditional_expression

 join_association_path_expression ::= join_collection_valued_path_expression |
                                      join_single_valued_path_expression |
                                      TREAT(join_collection_valued_path_expression AS subtype) |
                                      TREAT(join_single_valued_path_expression AS subtype)

 join_collection_valued_path_expression ::= identification_variable.{single_valued_embeddable_object_field.}*collection_valued_field

 join_single_valued_path_expression ::= identification_variable.{single_valued_embeddable_object_field.}*single_valued_object_field

 collection_member_declaration ::= IN (collection_valued_path_expression) [AS] identification_variable

 qualified_identification_variable ::= composable_qualified_identification_variable |
                                       ENTRY(identification_variable)

 composable_qualified_identification_variable ::= KEY(identification_variable) |
                                                  VALUE(identification_variable)

 single_valued_path_expression ::= qualified_identification_variable |
                                   TREAT(qualified_identification_variable AS subtype) |
                                   state_field_path_expression |
                                   single_valued_object_path_expression

 general_identification_variable ::= identification_variable |
                                     composable_qualified_identification_variable

 general_subpath ::= simple_subpath | treated_subpath{.single_valued_object_field}*

 simple_subpath ::= general_identification_variable |
                    general_identification_variable{.single_valued_object_field}*

 treated_subpath ::= TREAT(general_subpath AS subtype)

 state_field_path_expression ::= general_subpath.state_field

 single_valued_object_path_expression ::= general_subpath.single_valued_object_field

 collection_valued_path_expression ::= general_subpath.{collection_valued_field}

 update_clause ::= UPDATE entity_name [[AS] identification_variable] SET update_item {, update_item}*

 update_item ::= [identification_variable.]{single_valued_embeddable_object_field.}*{state_field | single_valued_object_field} = new_value

 new_value ::= scalar_expression |
               simple_entity_expression |
               NULL

 delete_clause ::= DELETE FROM entity_name [[AS] identification_variable]

 select_clause ::= SELECT [DISTINCT] select_item {, select_item}*

 select_item ::= select_expression [[AS] result_variable]

 select_expression ::= single_valued_path_expression |
                       scalar_expression |
                       aggregate_expression |
                       identification_variable |
                       OBJECT(identification_variable) |
                       constructor_expression

 constructor_expression ::= NEW constructor_name ( constructor_item {, constructor_item}* )

 constructor_item ::= single_valued_path_expression |
                      scalar_expression |
                      aggregate_expression |
                      identification_variable

 aggregate_expression ::= { AVG | MAX | MIN | SUM } ([DISTINCT] state_field_path_expression) |
                          COUNT ([DISTINCT] identification_variable |
                                            state_field_path_expression |
                                            single_valued_object_path_expression) |
                          function_invocation

 where_clause ::= WHERE conditional_expression

 groupby_clause ::= GROUP BY groupby_item {, groupby_item}*

 groupby_item ::= single_valued_path_expression | identification_variable

 having_clause ::= HAVING conditional_expression

 orderby_clause ::= ORDER BY orderby_item {, orderby_item}*

 orderby_item ::= state_field_path_expression | result_variable [ ASC | DESC ]

 subquery ::= simple_select_clause subquery_from_clause [where_clause] [groupby_clause] [having_clause]

 subquery_from_clause ::= FROM subselect_identification_variable_declaration
                               {, subselect_identification_variable_declaration | collection_member_declaration}*

 subselect_identification_variable_declaration ::= identification_variable_declaration |
                                                   derived_path_expression [AS] identification_variable {join}* |
                                                   derived_collection_member_declaration

 derived_path_expression ::= general_derived_path.single_valued_object_field |
                             general_derived_path.collection_valued_field

 general_derived_path ::= simple_derived_path |
                          treated_derived_path{.single_valued_object_field}*

 simple_derived_path ::= superquery_identification_variable{.single_valued_object_field}*

 treated_derived_path ::= TREAT(general_derived_path AS subtype)

 derived_collection_member_declaration ::= IN superquery_identification_variable.{single_valued_object_field.}*collection_valued_field

 simple_select_clause ::= SELECT [DISTINCT] simple_select_expression

 simple_select_expression::= single_valued_path_expression |
                             scalar_expression |
                             aggregate_expression |
                             identification_variable

 scalar_expression ::= arithmetic_expression |
                       string_expression |
                       enum_expression |
                       datetime_expression |
                       boolean_expression |
                       case_expression |
                       entity_type_expression

 conditional_expression ::= conditional_term | conditional_expression OR conditional_term

 conditional_term ::= conditional_factor | conditional_term AND conditional_factor

 conditional_factor ::= [NOT] conditional_primary

 conditional_primary ::= simple_cond_expression | (conditional_expression)

 simple_cond_expression ::= comparison_expression |
                            between_expression |
                            like_expression |
                            in_expression |
                            null_comparison_expression |
                            empty_collection_comparison_expression |
                            collection_member_expression |
                            exists_expression

 between_expression ::= arithmetic_expression [NOT] BETWEEN arithmetic_expression AND arithmetic_expression |
                        string_expression [NOT] BETWEEN string_expression AND string_expression |
                        datetime_expression [NOT] BETWEEN datetime_expression AND datetime_expression

 in_expression ::= {state_field_path_expression | type_discriminator} [NOT] IN { ( in_item {, in_item}* ) | (subquery) | collection_valued_input_parameter }

 in_item ::= literal | single_valued_input_parameter

 like_expression ::= string_expression [NOT] LIKE pattern_value [ESCAPE escape_character]

 escape_character ::= single_character_string_literal | character_valued_input_parameter

 null_comparison_expression ::= {single_valued_path_expression | input_parameter} IS [NOT] NULL

 empty_collection_comparison_expression ::= collection_valued_path_expression IS [NOT] EMPTY

 collection_member_expression ::= entity_or_value_expression [NOT] MEMBER [OF] collection_valued_path_expression

 entity_or_value_expression ::= single_valued_object_path_expression |
                                state_field_path_expression |
                                simple_entity_or_value_expression

 simple_entity_or_value_expression ::= identification_variable |
                                       input_parameter |
                                       literal

 exists_expression ::= [NOT] EXISTS (subquery)

 all_or_any_expression ::= { ALL | ANY | SOME} (subquery)

 comparison_expression ::= string_expression comparison_operator {string_expression | all_or_any_expression} |
                           boolean_expression { = |  &lt;&gt; } {boolean_expression | all_or_any_expression} |
                           enum_expression { = |  &lt;&gt; } {enum_expression | all_or_any_expression} |
                           datetime_expression comparison_operator {datetime_expression | all_or_any_expression} |
                           entity_expression { = |  &lt;&gt; } {entity_expression | all_or_any_expression} |
                           arithmetic_expression comparison_operator {arithmetic_expression | all_or_any_expression} |
                           entity_type_expression { = |  &lt;&gt; } entity_type_expression}

 comparison_operator ::= = |  &gt; | &gt;= | &lt; | &lt;= | &lt;&gt;

 arithmetic_expression ::= arithmetic_term | arithmetic_expression { + | - } arithmetic_term

 arithmetic_term ::= arithmetic_factor | arithmetic_term { * | / } arithmetic_factor

 arithmetic_factor ::= [{ + | - }] arithmetic_primary

 arithmetic_primary ::= state_field_path_expression |
                        numeric_literal |
                        (arithmetic_expression) |
                        input_parameter |
                        functions_returning_numerics |
                        aggregate_expression |
                        case_expression |
                        function_invocation |
                        (subquery)

 string_expression ::= state_field_path_expression |
                       string_literal |
                       input_parameter |
                       functions_returning_strings |
                       aggregate_expression |
                       case_expression |
                       function_invocation |
                       (subquery)

 datetime_expression ::= state_field_path_expression |
                         input_parameter |
                         functions_returning_datetime |
                         aggregate_expression |
                         case_expression |
                         function_invocation |
                         date_time_timestamp_literal |
                         (subquery)

 boolean_expression ::= state_field_path_expression |
                        boolean_literal |
                        input_parameter |
                        case_expression |
                        function_invocation |
                        (subquery)

 enum_expression ::= state_field_path_expression |
                     enum_literal |
                     input_parameter |
                     case_expression |
                     (subquery)

 entity_expression ::= single_valued_object_path_expression | simple_entity_expression

 simple_entity_expression ::= identification_variable |
                              input_parameter

 entity_type_expression ::= type_discriminator |
                            entity_type_literal |
                            input_parameter

 type_discriminator ::= TYPE(identification_variable | single_valued_object_path_expression | input_parameter)

 functions_returning_numerics ::= LENGTH(string_expression) |
                                  LOCATE(string_expression, string_expression[, arithmetic_expression]) |
                                  ABS(arithmetic_expression) |
                                  SQRT(arithmetic_expression) |
                                  MOD(arithmetic_expression, arithmetic_expression) |
                                  SIZE(collection_valued_path_expression) |
                                  INDEX(identification_variable)

 functions_returning_datetime ::= CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP

 functions_returning_strings ::= CONCAT(string_expression, string_expression {, string_expression}*) |
                                 SUBSTRING(string_expression, arithmetic_expression [, arithmetic_expression]) |
                                 TRIM([[trim_specification] [trim_character] FROM] string_expression) |
                                 LOWER(string_expression) |
                                 UPPER(string_expression)

 trim_specification ::= LEADING | TRAILING | BOTH

 function_invocation ::= FUNCTION(string_literal {, function_arg}*)

 function_arg ::= literal |
                  state_field_path_expression |
                  input_parameter |
                  scalar_expression

 case_expression ::= general_case_expression |
                     simple_case_expression |
                     coalesce_expression |
                     nullif_expression

 general_case_expression ::= CASE when_clause {when_clause}* ELSE scalar_expression END

 when_clause ::= WHEN conditional_expression THEN scalar_expression

 simple_case_expression ::= CASE case_operand simple_when_clause {simple_when_clause}* ELSE scalar_expression END

 case_operand ::= state_field_path_expression | type_discriminator

 simple_when_clause ::= WHEN scalar_expression THEN scalar_expression

 coalesce_expression ::= COALESCE(scalar_expression {, scalar_expression}+)

 nullif_expression ::= NULLIF(scalar_expression, scalar_expression)

 literal ::= boolean_literal |
             enum_literal
             numeric_literal |
             string_literal |

 boolean_literal ::= TRUE | FALSE

 string_literal ::= '''{identifier}*'''

 enum_literal ::= {identifier'.'}+identifier

 identifier ::= Character.isJavaIdentifierStart(char){Character.isJavaIdentifierPart(char)}*

 literal_temporal ::= date_literal | time_literal | timestamp_literal

 input_parameter ::= ':'{identifier}+ | '?'{'1'-'9'}{'0'-'9'}*

 date_literal ::= '{' ''d'' (' ' | '\t')+ '\'' date_string '\'' (' ' | '\t')* '}'

 time_literal ::= '{' ''t'' (' ' | '\t')+ '\'' trim_string '\'' (' ' | '\t')* '}'

 timestamp_literal ::= '{' ('ts') (' ' | '\t')+ '\'' date_string ' ' trim_string '\'' (' ' | '\t')* '}'

 date_string ::= [0-9] [0-9] [0-9] [0-9] '-' [0-9] [0-9] '-' [0-9] [0-9]

 trim_string ::= [0-9] ([0-9])? ':' [0-9] [0-9] ':' [0-9] [0-9] '.' [0-9]*</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">
<!-- ======== 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/JPQLGrammar2_1.html#JPQLGrammar2_1--">JPQLGrammar2_1</a></span>()</code>
<div class="block">Creates a new <code>JPQLExtension2_1</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/JPQLGrammar2_1.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/JPQLGrammar2_1.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/JPQLGrammar2_1.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/JPQLGrammar2_1.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/JPQLGrammar2_1.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/JPQLGrammar2_1.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/JPQLGrammar2_1.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/JPQLGrammar2_1.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/JPQLGrammar2_1.html#instance--">instance</a></span>()</code>
<div class="block">Returns the singleton instance of the default implementation of <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a> which
 provides support for the JPQL grammar defined in the JPA 2.1 functional specification.</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/JPQLGrammar2_1.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">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="JPQLGrammar2_1--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JPQLGrammar2_1</h4>
<pre>public&nbsp;JPQLGrammar2_1()</pre>
<div class="block">Creates a new <code>JPQLExtension2_1</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 the default implementation of <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a> which
 provides support for the JPQL grammar defined in the JPA 2.1 functional specification.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a> that only has support for JPA 2.1</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/JPQLGrammar2_0.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/JPQLQueryBNF.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/JPQLGrammar2_1.html" target="_top">Frames</a></li>
<li><a href="JPQLGrammar2_1.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>Field&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>Field&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>
