blob: 47716963461808364428a13384fec05025a088bf [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_222) on Tue Dec 08 12:28:20 UTC 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JPQLQueryBNF (EclipseLink 3.0.0, API Reference)</title>
<meta name="date" content="2020-12-08">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="JPQLQueryBNF (EclipseLink 3.0.0, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.0, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar2_1.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/JPQLStatementBNF.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/JPQLQueryBNF.html" target="_top">Frames</a></li>
<li><a href="JPQLQueryBNF.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 JPQLQueryBNF" class="title">Class JPQLQueryBNF</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>org.eclipse.persistence.jpa.jpql.parser.JPQLQueryBNF</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractSchemaNameBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AbstractSchemaNameBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AggregateExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AggregateExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AllOrAnyExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AllOrAnyExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ArithmeticExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ArithmeticExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ArithmeticFactorBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ArithmeticFactorBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ArithmeticPrimaryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ArithmeticPrimaryBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ArithmeticTermBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ArithmeticTermBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AsOfClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">AsOfClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/BadExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">BadExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/BetweenExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">BetweenExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/BooleanExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">BooleanExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/BooleanLiteralBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">BooleanLiteralBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/BooleanPrimaryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">BooleanPrimaryBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/CaseExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">CaseExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/CaseOperandBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">CaseOperandBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/CastExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">CastExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/CoalesceExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">CoalesceExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/CollectionMemberDeclarationBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">CollectionMemberDeclarationBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/CollectionMemberExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">CollectionMemberExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/CollectionValuedPathExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">CollectionValuedPathExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ComparisonExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ComparisonExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ConditionalExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ConditionalExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ConditionalFactorBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ConditionalFactorBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ConditionalPrimaryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ConditionalPrimaryBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ConditionalTermBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ConditionalTermBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ConnectByClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ConnectByClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ConstructorExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ConstructorExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ConstructorItemBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ConstructorItemBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/DatabaseTypeQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">DatabaseTypeQueryBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/DatetimeExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">DatetimeExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/DateTimePrimaryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">DateTimePrimaryBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/DateTimeTimestampLiteralBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">DateTimeTimestampLiteralBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/DeleteClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">DeleteClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/DeleteClauseRangeVariableDeclarationBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">DeleteClauseRangeVariableDeclarationBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/DeleteStatementBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">DeleteStatementBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/DerivedCollectionMemberDeclarationBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">DerivedCollectionMemberDeclarationBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ElseExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ElseExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EmptyCollectionComparisonExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">EmptyCollectionComparisonExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EntityExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">EntityExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EntityOrValueExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">EntityOrValueExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EntityTypeExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">EntityTypeExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EntityTypeLiteralBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">EntityTypeLiteralBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EnumExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">EnumExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EnumLiteralBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">EnumLiteralBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/EnumPrimaryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">EnumPrimaryBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExistsExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ExistsExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExtractExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ExtractExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/FromClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">FromClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/FunctionExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">FunctionExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/FunctionItemBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">FunctionItemBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningDatetimeBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">FunctionsReturningDatetimeBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningNumericsBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">FunctionsReturningNumericsBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningStringsBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">FunctionsReturningStringsBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/GeneralCaseExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">GeneralCaseExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/GeneralIdentificationVariableBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">GeneralIdentificationVariableBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/GenericQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">GenericQueryBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/GroupByClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">GroupByClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/GroupByItemBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">GroupByItemBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/HavingClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">HavingClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/HierarchicalQueryClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">HierarchicalQueryClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/IdentificationVariableBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">IdentificationVariableBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/IdentificationVariableDeclarationBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">IdentificationVariableDeclarationBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InExpressionExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InExpressionExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InExpressionItemBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InExpressionItemBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InputParameterBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InputParameterBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalAggregateFunctionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalAggregateFunctionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalBetweenExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalBetweenExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalCoalesceExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalCoalesceExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalColumnExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalColumnExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalConcatExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalConcatExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalConnectByClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalConnectByClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalCountBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalCountBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalEntityTypeExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalEntityTypeExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalFromClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalFromClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalJoinBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalJoinBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalLengthExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalLengthExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalLocateStringExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalLocateStringExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalLocateThirdExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalLocateThirdExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalLowerExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalLowerExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalModExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalModExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalOrderByClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalOrderByClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalOrderByItemBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalOrderByItemBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalSelectExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalSelectExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalSimpleFromClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalSimpleFromClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalSimpleSelectExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalSimpleSelectExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalSqrtExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalSqrtExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalSubstringPositionExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalSubstringPositionExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalSubstringStringExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalSubstringStringExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalUpdateClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalUpdateClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalUpperExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalUpperExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/InternalWhenClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">InternalWhenClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JoinAssociationPathExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">JoinAssociationPathExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JoinBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">JoinBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JoinFetchBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">JoinFetchBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLStatementBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">JPQLStatementBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/LikeExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">LikeExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/LikeExpressionEscapeCharacterBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">LikeExpressionEscapeCharacterBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/LiteralBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">LiteralBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/NewValueBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">NewValueBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/NullComparisonExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">NullComparisonExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/NullIfExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">NullIfExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/NumericLiteralBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">NumericLiteralBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ObjectExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ObjectExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/OnClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">OnClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/OrderByClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">OrderByClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/OrderByItemBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">OrderByItemBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/OrderSiblingsByClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">OrderSiblingsByClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/PatternValueBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">PatternValueBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/QualifiedIdentificationVariableBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">QualifiedIdentificationVariableBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/RangeDeclarationBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">RangeDeclarationBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/RangeVariableDeclarationBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">RangeVariableDeclarationBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/RegexpExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">RegexpExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ResultVariableBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ResultVariableBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ScalarExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ScalarExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SelectClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SelectClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SelectExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SelectExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SelectStatementBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SelectStatementBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SimpleArithmeticExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SimpleArithmeticExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SimpleCaseExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SimpleCaseExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SimpleConditionalExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SimpleConditionalExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SimpleEntityExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SimpleEntityExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SimpleEntityOrValueExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SimpleEntityOrValueExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SimpleResultVariableBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SimpleResultVariableBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SimpleSelectClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SimpleSelectClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SimpleSelectExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SimpleSelectExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SingleValuedObjectPathExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SingleValuedObjectPathExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SingleValuedPathExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SingleValuedPathExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/StartWithClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">StartWithClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/StateFieldPathExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">StateFieldPathExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/StringExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">StringExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/StringLiteralBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">StringLiteralBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/StringPrimaryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">StringPrimaryBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SubqueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SubqueryBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SubqueryFromClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SubqueryFromClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/SubSelectIdentificationVariableDeclarationBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">SubSelectIdentificationVariableDeclarationBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/TableExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">TableExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/TableVariableDeclarationBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">TableVariableDeclarationBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/TreatExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">TreatExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/TypeExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">TypeExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/UnionClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">UnionClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/UpdateClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">UpdateClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/UpdateItemBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">UpdateItemBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/UpdateItemStateFieldPathExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">UpdateItemStateFieldPathExpressionBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/UpdateStatementBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">UpdateStatementBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/VirtualJPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">VirtualJPQLQueryBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/WhenClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">WhenClauseBNF</a>, <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/WhereClauseBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">WhereClauseBNF</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">JPQLQueryBNF</span>
extends <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></pre>
<div class="block"><p>This defines a single Backus-Naur Form (BNF) of the JPQL grammar. The Java Persistence functional
specifications are:</p>
<ul>
<li><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar1_0.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar1_0</code></a>: <a href="http://jcp.org/en/jsr/detail?id=220">JSR 220: Enterprise JavaBeans&trade; version 3.0</a></li>
<li><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar2_0.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar2_0</code></a>: <a href="http://jcp.org/en/jsr/detail?id=317">JSR 317: Java&trade; Persistence 2.0</a></li>
<li><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar2_1.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar2_1</code></a>: <a href="http://jcp.org/en/jsr/detail?id=338">JSR 338: Java&trade; Persistence 2.1</a></li>
</ul>
<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.1</dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Pascal Filion</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3</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="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#JPQLQueryBNF-java.lang.String-">JPQLQueryBNF</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</code>
<div class="block">Creates a new <code>JPQLQueryBNF</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="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><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">JPQLQueryBNF</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#children--">children</a></span>()</code>
<div class="block">Returns the set of all the query BNFs that are part of this BNF.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ExpressionFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#getExpressionFactory-java.lang.String-">getExpressionFactory</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;identifier)</code>
<div class="block">Retrieves the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> that is associated with the given identifier, if the
given string is indeed a JPQL identifier.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<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>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#getExpressionFactoryIds--">getExpressionFactoryIds</a></span>()</code>
<div class="block">Returns the unique identifiers of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> handled by this BNF rule,
which includes those from the children as well.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionRegistry.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ExpressionRegistry</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#getExpressionRegistry--">getExpressionRegistry</a></span>()</code>
<div class="block">Returns the registry containing the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNFs</code></a> and the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactories</code></a> that are used
to properly parse a JPQL query.</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/JPQLQueryBNF.html#getFallbackBNFId--">getFallbackBNFId</a></span>()</code>
<div class="block">When parsing the query and no <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNFs</code></a> can help to parse the query,
then it will fall back on this one.</div>
</td>
</tr>
<tr id="i5" 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/JPQLQueryBNF.html#getFallbackExpressionFactoryId--">getFallbackExpressionFactoryId</a></span>()</code>
<div class="block">Returns the unique identifier of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> to use when the fall back BNF
ID is not <code>null</code>.</div>
</td>
</tr>
<tr id="i6" 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/JPQLQueryBNF.html#getId--">getId</a></span>()</code>
<div class="block">Returns the unique identifier of this <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNF</code></a>.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<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>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#getIdentifiers--">getIdentifiers</a></span>()</code>
<div class="block">Retrieves the JPQL identifiers that are supported by this BNF rule.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#handleAggregate--">handleAggregate</a></span>()</code>
<div class="block">Determines whether the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a> handles a collection of sub-expressions that
are aggregated by logical or arithmetic operators.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#handleCollection--">handleCollection</a></span>()</code>
<div class="block">Determines whether the <code>Expression</code> handles a collection of sub-expressions that
are separated by commas.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#handlesNestedArray--">handlesNestedArray</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#handleSubExpression--">handleSubExpression</a></span>()</code>
<div class="block">Determines whether this BNF handles parsing a sub-expression, i.e.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#hasChild-java.lang.String-">hasChild</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queryBNFId)</code>
<div class="block">Determines whether the BNF with the given ID is part of this BNF or not.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#hasIdentifier-java.lang.String-">hasIdentifier</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;word)</code>
<div class="block">Determines if this query BNF support the given word, which can be an identifier.</div>
</td>
</tr>
<tr id="i14" 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/JPQLQueryBNF.html#initialize--">initialize</a></span>()</code>
<div class="block">Initializes this BNF by registering child <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNFs</code></a> and <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactories</code></a>.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#isCompound--">isCompound</a></span>()</code>
<div class="block">Determines whether this BNF has child BNFs registered only to properly parse a query or if the
child BNFs are part of the BNF.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">JPQLQueryBNF</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#nonCompoundChildren--">nonCompoundChildren</a></span>()</code>
<div class="block">Returns the set of all the query BNFs that are part of this BNF.</div>
</td>
</tr>
<tr id="i17" 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/JPQLQueryBNF.html#registerChild-java.lang.String-">registerChild</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queryBNFId)</code>
<div class="block">Registers the unique identifier of the BNF rule as a child of this BNF rule.</div>
</td>
</tr>
<tr id="i18" 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/JPQLQueryBNF.html#registerExpressionFactory-java.lang.String-">registerExpressionFactory</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;expressionFactoryId)</code>
<div class="block">Registers a unique identifier of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> to register with this BNF rule.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#setCompound-boolean-">setCompound</a></span>(boolean&nbsp;compound)</code>
<div class="block">Determines whether this BNF has child BNFs registered only to properly parse a query or if the
child BNFs are part of the BNF.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#setFallbackBNFId-java.lang.String-">setFallbackBNFId</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fallbackBNFId)</code>
<div class="block">When parsing the query and no <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNFs</code></a> can help to parse the query,
then it will fall back on the given one.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#setFallbackExpressionFactoryId-java.lang.String-">setFallbackExpressionFactoryId</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fallbackExpressionFactoryId)</code>
<div class="block">Sets the unique identifier of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> to use when the fall back BNF
ID is not <code>null</code>.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#setHandleAggregate-boolean-">setHandleAggregate</a></span>(boolean&nbsp;handleAggregate)</code>
<div class="block">Sets whether the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a> handles a collection of sub-expressions that are
aggregated by logical or arithmetic operators.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#setHandleCollection-boolean-">setHandleCollection</a></span>(boolean&nbsp;handleCollection)</code>
<div class="block">Sets whether the <code>Expression</code> handles a collection of sub-expressions that are
separated by commas.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#setHandleNestedArray-boolean-">setHandleNestedArray</a></span>(boolean&nbsp;handleNestedArray)</code>
<div class="block">Sets whether this BNF supports nested array or not.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#setHandleSubExpression-boolean-">setHandleSubExpression</a></span>(boolean&nbsp;handleSubExpression)</code>
<div class="block">Sets whether this BNF handles parsing a sub-expression, i.e.</div>
</td>
</tr>
<tr id="i26" 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/JPQLQueryBNF.html#toString--">toString</a></span>()</code></td>
</tr>
<tr id="i27" 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/JPQLQueryBNF.html#toString-java.lang.StringBuilder-">toString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</code>
<div class="block">Adds to the given builder more information about this <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNF</code></a>.</div>
</td>
</tr>
</table>
<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="JPQLQueryBNF-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JPQLQueryBNF</h4>
<pre>protected&nbsp;JPQLQueryBNF(<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;id)</pre>
<div class="block">Creates a new <code>JPQLQueryBNF</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - The unique identifier of this BNF rule</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - The given unique identifier cannot be <code>null</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="children--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>children</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">JPQLQueryBNF</a>&gt;&nbsp;children()</pre>
<div class="block">Returns the set of all the query BNFs that are part of this BNF. The set always include this
BNF as well.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The children BNFs describing this BNF rule</dd>
</dl>
</li>
</ul>
<a name="getExpressionFactory-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExpressionFactory</h4>
<pre>public&nbsp;<a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ExpressionFactory</a>&nbsp;getExpressionFactory(<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;identifier)</pre>
<div class="block">Retrieves the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> that is associated with the given identifier, if the
given string is indeed a JPQL identifier.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>identifier</code> - The JPQL identifier (in theory) that is used to retrieve the factory
responsible to parse a portion of the query starting with that identifier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> responsible to parse a portion of the query starting
with the given identifier; <code>null</code> if nothing was registered for it</dd>
</dl>
</li>
</ul>
<a name="getExpressionFactoryIds--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExpressionFactoryIds</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<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>&gt;&nbsp;getExpressionFactoryIds()</pre>
<div class="block">Returns the unique identifiers of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> handled by this BNF rule,
which includes those from the children as well.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The list of unique identifiers of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> registered with this
BNF rule and with its children</dd>
</dl>
</li>
</ul>
<a name="getExpressionRegistry--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExpressionRegistry</h4>
<pre>public&nbsp;<a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionRegistry.html" title="class in org.eclipse.persistence.jpa.jpql.parser">ExpressionRegistry</a>&nbsp;getExpressionRegistry()</pre>
<div class="block">Returns the registry containing the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNFs</code></a> and the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactories</code></a> that are used
to properly parse a JPQL query.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The registry containing the information related to the JPQL grammar</dd>
</dl>
</li>
</ul>
<a name="getFallbackBNFId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFallbackBNFId</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;getFallbackBNFId()</pre>
<div class="block">When parsing the query and no <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNFs</code></a> can help to parse the query,
then it will fall back on this one.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The unique identifier of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNF</code></a> to use in the last resort</dd>
</dl>
</li>
</ul>
<a name="getFallbackExpressionFactoryId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFallbackExpressionFactoryId</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;getFallbackExpressionFactoryId()</pre>
<div class="block">Returns the unique identifier of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> to use when the fall back BNF
ID is not <code>null</code>. This will be used to parse a portion of the query when the
registered <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>expression factories</code></a> cannot parse it.
<p>
Note: This method is only called if <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#getFallbackBNFId--"><code>getFallbackBNFId()</code></a> does not return <code>null</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The unique identifier of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a></dd>
</dl>
</li>
</ul>
<a name="getId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</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;getId()</pre>
<div class="block">Returns the unique identifier of this <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNF</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The identifier used to register this <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNF</code></a> with <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/AbstractExpression.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>AbstractExpression</code></a></dd>
</dl>
</li>
</ul>
<a name="getIdentifiers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdentifiers</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<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>&gt;&nbsp;getIdentifiers()</pre>
<div class="block">Retrieves the JPQL identifiers that are supported by this BNF rule. The JPQL identifiers are
retrieved by scanning the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> registered with this BNF rule and the
child BNF rules.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The list of JPQL identifiers that are supported by this BNF</dd>
</dl>
</li>
</ul>
<a name="handleAggregate--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleAggregate</h4>
<pre>public&nbsp;boolean&nbsp;handleAggregate()</pre>
<div class="block">Determines whether the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a> handles a collection of sub-expressions that
are aggregated by logical or arithmetic operators.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the sub-expression to parse might have several logical and/or
arithmetic expressions; <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="handleCollection--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleCollection</h4>
<pre>public&nbsp;boolean&nbsp;handleCollection()</pre>
<div class="block">Determines whether the <code>Expression</code> handles a collection of sub-expressions that
are separated by commas.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the sub-expression to parse might have several sub-expressions
separated by commas; <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="handlesNestedArray--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handlesNestedArray</h4>
<pre>public&nbsp;boolean&nbsp;handlesNestedArray()</pre>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.5</dd>
</dl>
</li>
</ul>
<a name="handleSubExpression--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleSubExpression</h4>
<pre>public&nbsp;boolean&nbsp;handleSubExpression()</pre>
<div class="block">Determines whether this BNF handles parsing a sub-expression, i.e. parsing an expression
encapsulated by parenthesis. See <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#setHandleSubExpression-boolean-"><code>setHandleSubExpression(boolean)</code></a> for more details.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if this BNF handles parsing a sub-expression; <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="hasChild-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasChild</h4>
<pre>public&nbsp;boolean&nbsp;hasChild(<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;queryBNFId)</pre>
<div class="block">Determines whether the BNF with the given ID is part of this BNF or not.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>queryBNFId</code> - The unique identifier of the BNF rule to check if it's a child of this one</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the BNF with the given ID is</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.5.1</dd>
</dl>
</li>
</ul>
<a name="hasIdentifier-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasIdentifier</h4>
<pre>public&nbsp;boolean&nbsp;hasIdentifier(<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;word)</pre>
<div class="block">Determines if this query BNF support the given word, which can be an identifier.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>word</code> - A word that could be a JPQL identifier or anything else</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the given word is a JPQL identifier and it is supported by this
BNF; <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="initialize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>protected&nbsp;void&nbsp;initialize()</pre>
<div class="block">Initializes this BNF by registering child <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNFs</code></a> and <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactories</code></a>.</div>
</li>
</ul>
<a name="isCompound--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCompound</h4>
<pre>public&nbsp;boolean&nbsp;isCompound()</pre>
<div class="block">Determines whether this BNF has child BNFs registered only to properly parse a query or if the
child BNFs are part of the BNF. An example if a compound BNF is <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/BetweenExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>BetweenExpressionBNF</code></a>,
it registers a series of children BNFs but they shouldn't be used to determine if they are
part of that BNF since the comparator identifiers are.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>false</code> by default</dd>
</dl>
</li>
</ul>
<a name="nonCompoundChildren--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nonCompoundChildren</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser">JPQLQueryBNF</a>&gt;&nbsp;nonCompoundChildren()</pre>
<div class="block">Returns the set of all the query BNFs that are part of this BNF. The set always include this
BNF as well.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The children BNFs describing this BNF rule. The set excludes BNF rules that are used
to complete a BNF, such as the BNF rules defined for <b>BETWEEN</b> since they are required
to properly parse the query</dd>
</dl>
</li>
</ul>
<a name="registerChild-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerChild</h4>
<pre>protected final&nbsp;void&nbsp;registerChild(<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;queryBNFId)</pre>
<div class="block">Registers the unique identifier of the BNF rule as a child of this BNF rule.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>queryBNFId</code> - The unique identifier of the BNF rule to add as a child</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - The <code>queryBNFId</code> cannot be <code>null</code></dd>
</dl>
</li>
</ul>
<a name="registerExpressionFactory-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerExpressionFactory</h4>
<pre>protected final&nbsp;void&nbsp;registerExpressionFactory(<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;expressionFactoryId)</pre>
<div class="block">Registers a unique identifier of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> to register with this BNF rule.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expressionFactoryId</code> - The unique identifier of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - The <code>expressionFactoryId</code> cannot be <code>null</code></dd>
</dl>
</li>
</ul>
<a name="setCompound-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCompound</h4>
<pre>public&nbsp;void&nbsp;setCompound(boolean&nbsp;compound)</pre>
<div class="block">Determines whether this BNF has child BNFs registered only to properly parse a query or if the
child BNFs are part of the BNF. An example if a compound BNF is <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/BetweenExpressionBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>BetweenExpressionBNF</code></a>,
it registers a series of children BNFs but they shouldn't be used to determine if they are
part of that BNF since the comparator identifiers are.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>compound</code> - <code>true</code> if this BNF represents a compound BNF and its children are
not part of this BNF but only to support compound expression; <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="setFallbackBNFId-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFallbackBNFId</h4>
<pre>public&nbsp;void&nbsp;setFallbackBNFId(<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;fallbackBNFId)</pre>
<div class="block">When parsing the query and no <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNFs</code></a> can help to parse the query,
then it will fall back on the given one.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fallbackBNFId</code> - The unique identifier of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNF</code></a> to use in the last resort</dd>
</dl>
</li>
</ul>
<a name="setFallbackExpressionFactoryId-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFallbackExpressionFactoryId</h4>
<pre>public&nbsp;void&nbsp;setFallbackExpressionFactoryId(<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;fallbackExpressionFactoryId)</pre>
<div class="block">Sets the unique identifier of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> to use when the fall back BNF
ID is not <code>null</code>. This will be used to parse a portion of the query when the
registered <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>expression factories</code></a> cannot parse it.
<p>
Note: This method is only called if <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html#getFallbackBNFId--"><code>getFallbackBNFId()</code></a> does not return <code>null</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fallbackExpressionFactoryId</code> - The unique identifier of the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a></dd>
</dl>
</li>
</ul>
<a name="setHandleAggregate-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHandleAggregate</h4>
<pre>public&nbsp;void&nbsp;setHandleAggregate(boolean&nbsp;handleAggregate)</pre>
<div class="block">Sets whether the <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a> handles a collection of sub-expressions that are
aggregated by logical or arithmetic operators.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handleAggregate</code> - <code>true</code> if the sub-expression to parse might have several
logical and/or arithmetic expressions; <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="setHandleCollection-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHandleCollection</h4>
<pre>public&nbsp;void&nbsp;setHandleCollection(boolean&nbsp;handleCollection)</pre>
<div class="block">Sets whether the <code>Expression</code> handles a collection of sub-expressions that are
separated by commas.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handleCollection</code> - <code>true</code> if the sub-expression to parse might have several
sub-expressions separated by commas; <code>false</code> otherwise</dd>
</dl>
</li>
</ul>
<a name="setHandleNestedArray-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHandleNestedArray</h4>
<pre>public&nbsp;void&nbsp;setHandleNestedArray(boolean&nbsp;handleNestedArray)</pre>
<div class="block">Sets whether this BNF supports nested array or not. A nested array is a sub-expression with
its child being a collection expression: (item_1, item_2, ..., item_n).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handleNestedArray</code> - <code>true</code> if the expression represented by this BNF can be
a nested array; <code>false</code> otherwise</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.5</dd>
</dl>
</li>
</ul>
<a name="setHandleSubExpression-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHandleSubExpression</h4>
<pre>public&nbsp;void&nbsp;setHandleSubExpression(boolean&nbsp;handleSubExpression)</pre>
<div class="block">Sets whether this BNF handles parsing a sub-expression, i.e. parsing an expression
encapsulated by parenthesis. Which in fact would be handled by the fallback <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a>. The default behavior is to not handle it.
<p>
A good example for using this option is when an <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/Expression.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>Expression</code></a> cannot use any <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> for creating a child object, parsing will use the fallback <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a>, if one was specified. So when this is set to <code>true</code>, the
fallback <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> will be immediately invoked.
<p>
Let's say we want to parse "SELECT e FROM (SELECT a FROM Address a) e", <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/FromClause.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>FromClause</code></a>
cannot use a factory for parsing the entity name (that's what usually the <code>FROM</code>
clause has) so it uses the fallback factory to create <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/IdentificationVariableDeclaration.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>IdentificationVariableDeclaration</code></a>.
Then <code>IdentificationVariableDeclaration</code> also cannot use any factory to create its
child object so it uses the fallback factory to create <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/RangeVariableDeclaration.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>RangeVariableDeclaration</code></a>.
By changing the status of for handling the sub-expression for the BNFs for those objects, then
a subquery can be created by <code>RangeVariableDeclaration</code>.
<pre><code>FromClause
|- IdentificationVariableDeclaration
|- RangeVariableDeclaration
|- SubExpression(subquery)</code></pre>
In order to get this working, the following would have to be done into the grammar:
<pre><code> public class MyJPQLGrammar extends AbstractJPQLGrammar {
&#64;Override
protected void initializeBNFs() {
setHandleSubExpression(InternalFromClauseBNF.ID, true);
setHandleSubExpression(InternalSimpleFromClauseBNF.ID, true);
setHandleSubExpression(IdentificationVariableDeclarationBNF.ID, true);
setHandleSubExpression(RangeVariableDeclarationBNF.ID, true);
}
}</code></pre></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handleSubExpression</code> - <code>true</code> to let the creation of a sub-expression be
created by the fallback <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/ExpressionFactory.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>ExpressionFactory</code></a> registered with this BNF; <code>false</code>
otherwise (which is the default value)</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<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>
<a name="toString-java.lang.StringBuilder-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>protected&nbsp;void&nbsp;toString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
<div class="block">Adds to the given builder more information about this <a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.html" title="class in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLQueryBNF</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sb</code> - The builder used to add information about this class</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.0, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/eclipse/persistence/jpa/jpql/parser/JPQLGrammar2_1.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/JPQLStatementBNF.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/JPQLQueryBNF.html" target="_top">Frames</a></li>
<li><a href="JPQLQueryBNF.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;2020 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>