blob: 3976970335a51f84ab4fd2086714d3751b6f9e5a [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.2) on Wed Apr 22 10:19:16 CDT 2020 -->
<title>EclipseLinkJPQLQueryHelper (EclipseLink 3.0.0, API Reference)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2020-04-22">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="EclipseLinkJPQLQueryHelper (EclipseLink 3.0.0, API Reference)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":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";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><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" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<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 id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.persistence.jpa.jpql.tools</a></div>
<h2 title="Class EclipseLinkJPQLQueryHelper" class="title">Class EclipseLinkJPQLQueryHelper</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" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="AbstractJPQLQueryHelper.html" title="class in org.eclipse.persistence.jpa.jpql.tools">org.eclipse.persistence.jpa.jpql.tools.AbstractJPQLQueryHelper</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.jpa.jpql.tools.EclipseLinkJPQLQueryHelper</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">EclipseLinkJPQLQueryHelper</span>
extends <a href="AbstractJPQLQueryHelper.html" title="class in org.eclipse.persistence.jpa.jpql.tools">AbstractJPQLQueryHelper</a></pre>
<div class="block">This helper can perform the following operations over a JPQL query:
<ul>
<li>Calculates the result type of a query: <a href="AbstractJPQLQueryHelper.html#getResultType()"><code>AbstractJPQLQueryHelper.getResultType()</code></a>;</li>
<li>Calculates the type of an input parameter: <a href="AbstractJPQLQueryHelper.html#getParameterType(java.lang.String)"><code>AbstractJPQLQueryHelper.getParameterType(String)</code></a>.</li>
<li>Calculates the possible choices to complete the query from a given
position (used for content assist): <a href="AbstractJPQLQueryHelper.html#buildContentAssistProposals(int)"><code>AbstractJPQLQueryHelper.buildContentAssistProposals(int)</code></a>.</li>
<li>Validates the query by introspecting it grammatically and semantically:
<ul>
<li><a href="AbstractJPQLQueryHelper.html#validate()"><code>AbstractJPQLQueryHelper.validate()</code></a>,</li>
<li><a href="AbstractJPQLQueryHelper.html#validateGrammar()"><code>AbstractJPQLQueryHelper.validateGrammar()</code></a>,</li>
<li><a href="AbstractJPQLQueryHelper.html#validateSemantic()"><code>AbstractJPQLQueryHelper.validateSemantic()</code></a>.</li>
</ul>
</li>
<li>Refactoring support:
<ul>
<li><a href="#buildBasicRefactoringTool()"><code>buildBasicRefactoringTool()</code></a> provides support for generating the delta of the
refactoring operation through a collection of <a href="TextEdit.html" title="interface in org.eclipse.persistence.jpa.jpql.tools"><code>TextEdit</code></a> objects.</li>
<li><a href="#buildRefactoringTool()"><code>buildRefactoringTool()</code></a> provides support for refactoring the JPQL query through
the editable <a href="model/query/StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> and
once all refactoring operations have been executed, the <a href="model/IJPQLQueryFormatter.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model"><code>IJPQLQueryFormatter</code></a> will generate
a new string representation of the JPQL query.</li>
</ul>
</li>
</ul>
This helper should be used when the JPQL query is written using the JPQL grammar defined in the
Java Persistence functional specification 2.1 and it contains the additional support provided by
EclipseLink.
<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.</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 ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.persistence.jpa.jpql.parser.JPQLGrammar)">EclipseLinkJPQLQueryHelper</a></span>&#8203;(<a href="../parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser">JPQLGrammar</a>&nbsp;jpqlGrammar)</code></th>
<td class="colLast">
<div class="block">Creates a new <code>EclipseLinkJPQLQueryHelper</code>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.persistence.jpa.jpql.tools.JPQLQueryContext)">EclipseLinkJPQLQueryHelper</a></span>&#8203;(<a href="JPQLQueryContext.html" title="class in org.eclipse.persistence.jpa.jpql.tools">JPQLQueryContext</a>&nbsp;queryContext)</code></th>
<td class="colLast">
<div class="block">Creates a new <code>EclipseLinkJPQLQueryHelper</code>.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="BasicRefactoringTool.html" title="class in org.eclipse.persistence.jpa.jpql.tools">BasicRefactoringTool</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildBasicRefactoringTool()">buildBasicRefactoringTool</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates the concrete instance of the tool that can refactor the content of a JPQL query.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected <a href="AbstractContentAssistVisitor.html" title="class in org.eclipse.persistence.jpa.jpql.tools">AbstractContentAssistVisitor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildContentAssistVisitor(org.eclipse.persistence.jpa.jpql.tools.JPQLQueryContext)">buildContentAssistVisitor</a></span>&#8203;(<a href="JPQLQueryContext.html" title="class in org.eclipse.persistence.jpa.jpql.tools">JPQLQueryContext</a>&nbsp;queryContext)</code></th>
<td class="colLast">
<div class="block">Creates the concrete instance of the content assist visitor that will give the possible
choices based on the position of the cursor within the JPQL query.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="../EclipseLinkSemanticValidatorExtension.html" title="interface in org.eclipse.persistence.jpa.jpql">EclipseLinkSemanticValidatorExtension</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildEclipseLinkSemanticValidatorExtension()">buildEclipseLinkSemanticValidatorExtension</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a new <a href="../EclipseLinkSemanticValidatorExtension.html" title="interface in org.eclipse.persistence.jpa.jpql"><code>EclipseLinkSemanticValidatorExtension</code></a>, which will provide additional
support for non-JPA related information.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected <a href="../EclipseLinkGrammarValidator.html" title="class in org.eclipse.persistence.jpa.jpql">EclipseLinkGrammarValidator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildGrammarValidator(org.eclipse.persistence.jpa.jpql.parser.JPQLGrammar)">buildGrammarValidator</a></span>&#8203;(<a href="../parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser">JPQLGrammar</a>&nbsp;jpqlGrammar)</code></th>
<td class="colLast">
<div class="block">Creates the concrete instance of the validator that will grammatically validate the JPQL query.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected <a href="JPQLQueryContext.html" title="class in org.eclipse.persistence.jpa.jpql.tools">JPQLQueryContext</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildJPQLQueryContext(org.eclipse.persistence.jpa.jpql.parser.JPQLGrammar)">buildJPQLQueryContext</a></span>&#8203;(<a href="../parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser">JPQLGrammar</a>&nbsp;jpqlGrammar)</code></th>
<td class="colLast">
<div class="block">Creates a context that will be used to store and retrieve information about the JPQL query.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <a href="model/IJPQLQueryBuilder.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model">IJPQLQueryBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildQueryBuilder()">buildQueryBuilder</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates the right <a href="model/IJPQLQueryBuilder.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model"><code>IJPQLQueryBuilder</code></a> based on the JPQL grammar.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="RefactoringTool.html" title="class in org.eclipse.persistence.jpa.jpql.tools">RefactoringTool</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildRefactoringTool()">buildRefactoringTool</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates the concrete instance of the tool that can refactor the content of a JPQL query.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected <a href="../AbstractEclipseLinkSemanticValidator.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractEclipseLinkSemanticValidator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildSemanticValidator(org.eclipse.persistence.jpa.jpql.tools.JPQLQueryContext)">buildSemanticValidator</a></span>&#8203;(<a href="JPQLQueryContext.html" title="class in org.eclipse.persistence.jpa.jpql.tools">JPQLQueryContext</a>&nbsp;queryContext)</code></th>
<td class="colLast">
<div class="block">Creates the concrete instance of the validator that will semantically validate the JPQL query.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.persistence.jpa.jpql.tools.AbstractJPQLQueryHelper">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.persistence.jpa.jpql.tools.<a href="AbstractJPQLQueryHelper.html" title="class in org.eclipse.persistence.jpa.jpql.tools">AbstractJPQLQueryHelper</a></h3>
<code><a href="AbstractJPQLQueryHelper.html#buildContentAssistProposals(int)">buildContentAssistProposals</a>, <a href="AbstractJPQLQueryHelper.html#buildContentAssistProposals(int,org.eclipse.persistence.jpa.jpql.tools.ContentAssistExtension)">buildContentAssistProposals</a>, <a href="AbstractJPQLQueryHelper.html#buildNumericTypeComparator()">buildNumericTypeComparator</a>, <a href="AbstractJPQLQueryHelper.html#dispose()">dispose</a>, <a href="AbstractJPQLQueryHelper.html#getContentAssistVisitor()">getContentAssistVisitor</a>, <a href="AbstractJPQLQueryHelper.html#getGrammar()">getGrammar</a>, <a href="AbstractJPQLQueryHelper.html#getGrammarValidator()">getGrammarValidator</a>, <a href="AbstractJPQLQueryHelper.html#getJPQLExpression()">getJPQLExpression</a>, <a href="AbstractJPQLQueryHelper.html#getParameterType(java.lang.String)">getParameterType</a>, <a href="AbstractJPQLQueryHelper.html#getParsedJPQLQuery()">getParsedJPQLQuery</a>, <a href="AbstractJPQLQueryHelper.html#getProvider()">getProvider</a>, <a href="AbstractJPQLQueryHelper.html#getQuery()">getQuery</a>, <a href="AbstractJPQLQueryHelper.html#getQueryContext()">getQueryContext</a>, <a href="AbstractJPQLQueryHelper.html#getResultType()">getResultType</a>, <a href="AbstractJPQLQueryHelper.html#getSemanticValidator()">getSemanticValidator</a>, <a href="AbstractJPQLQueryHelper.html#getType(java.lang.Class)">getType</a>, <a href="AbstractJPQLQueryHelper.html#getTypeHelper()">getTypeHelper</a>, <a href="AbstractJPQLQueryHelper.html#getTypeRepository()">getTypeRepository</a>, <a href="AbstractJPQLQueryHelper.html#setJPQLExpression(org.eclipse.persistence.jpa.jpql.parser.JPQLExpression)">setJPQLExpression</a>, <a href="AbstractJPQLQueryHelper.html#setQuery(org.eclipse.persistence.jpa.jpql.tools.spi.IQuery)">setQuery</a>, <a href="AbstractJPQLQueryHelper.html#validate()">validate</a>, <a href="AbstractJPQLQueryHelper.html#validate(org.eclipse.persistence.jpa.jpql.parser.Expression,java.util.List)">validate</a>, <a href="AbstractJPQLQueryHelper.html#validateGrammar()">validateGrammar</a>, <a href="AbstractJPQLQueryHelper.html#validateGrammar(org.eclipse.persistence.jpa.jpql.parser.Expression,java.util.List)">validateGrammar</a>, <a href="AbstractJPQLQueryHelper.html#validateSemantic()">validateSemantic</a>, <a href="AbstractJPQLQueryHelper.html#validateSemantic(org.eclipse.persistence.jpa.jpql.parser.Expression,java.util.List)">validateSemantic</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">notifyAll</a>, <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" class="externalLink">toString</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" class="externalLink">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" class="externalLink">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" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(org.eclipse.persistence.jpa.jpql.parser.JPQLGrammar)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EclipseLinkJPQLQueryHelper</h4>
<pre>public&nbsp;EclipseLinkJPQLQueryHelper&#8203;(<a href="../parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser">JPQLGrammar</a>&nbsp;jpqlGrammar)</pre>
<div class="block">Creates a new <code>EclipseLinkJPQLQueryHelper</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>jpqlGrammar</code> - The <a href="../parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser"><code>JPQLGrammar</code></a> that will determine how to parse JPQL queries</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(org.eclipse.persistence.jpa.jpql.tools.JPQLQueryContext)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>EclipseLinkJPQLQueryHelper</h4>
<pre>public&nbsp;EclipseLinkJPQLQueryHelper&#8203;(<a href="JPQLQueryContext.html" title="class in org.eclipse.persistence.jpa.jpql.tools">JPQLQueryContext</a>&nbsp;queryContext)</pre>
<div class="block">Creates a new <code>EclipseLinkJPQLQueryHelper</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>queryContext</code> - The context used to query information about the JPQL query</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="buildBasicRefactoringTool()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildBasicRefactoringTool</h4>
<pre class="methodSignature">public&nbsp;<a href="BasicRefactoringTool.html" title="class in org.eclipse.persistence.jpa.jpql.tools">BasicRefactoringTool</a>&nbsp;buildBasicRefactoringTool()</pre>
<div class="block">Creates the concrete instance of the tool that can refactor the content of a JPQL query. This
version simply provides the delta of the refactoring operations.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AbstractJPQLQueryHelper.html#buildBasicRefactoringTool()">buildBasicRefactoringTool</a></code>&nbsp;in class&nbsp;<code><a href="AbstractJPQLQueryHelper.html" title="class in org.eclipse.persistence.jpa.jpql.tools">AbstractJPQLQueryHelper</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The concrete instance of <a href="RefactoringTool.html" title="class in org.eclipse.persistence.jpa.jpql.tools"><code>RefactoringTool</code></a></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="AbstractJPQLQueryHelper.html#buildRefactoringTool()"><code>AbstractJPQLQueryHelper.buildRefactoringTool()</code></a></dd>
</dl>
</li>
</ul>
<a id="buildContentAssistVisitor(org.eclipse.persistence.jpa.jpql.tools.JPQLQueryContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildContentAssistVisitor</h4>
<pre class="methodSignature">protected&nbsp;<a href="AbstractContentAssistVisitor.html" title="class in org.eclipse.persistence.jpa.jpql.tools">AbstractContentAssistVisitor</a>&nbsp;buildContentAssistVisitor&#8203;(<a href="JPQLQueryContext.html" title="class in org.eclipse.persistence.jpa.jpql.tools">JPQLQueryContext</a>&nbsp;queryContext)</pre>
<div class="block">Creates the concrete instance of the content assist visitor that will give the possible
choices based on the position of the cursor within the JPQL query.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AbstractJPQLQueryHelper.html#buildContentAssistVisitor(org.eclipse.persistence.jpa.jpql.tools.JPQLQueryContext)">buildContentAssistVisitor</a></code>&nbsp;in class&nbsp;<code><a href="AbstractJPQLQueryHelper.html" title="class in org.eclipse.persistence.jpa.jpql.tools">AbstractJPQLQueryHelper</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>queryContext</code> - The context used to query information about the JPQL query</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A new concrete instance of <a href="AbstractContentAssistVisitor.html" title="class in org.eclipse.persistence.jpa.jpql.tools"><code>AbstractContentAssistVisitor</code></a></dd>
</dl>
</li>
</ul>
<a id="buildEclipseLinkSemanticValidatorExtension()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildEclipseLinkSemanticValidatorExtension</h4>
<pre class="methodSignature">protected&nbsp;<a href="../EclipseLinkSemanticValidatorExtension.html" title="interface in org.eclipse.persistence.jpa.jpql">EclipseLinkSemanticValidatorExtension</a>&nbsp;buildEclipseLinkSemanticValidatorExtension()</pre>
<div class="block">Creates a new <a href="../EclipseLinkSemanticValidatorExtension.html" title="interface in org.eclipse.persistence.jpa.jpql"><code>EclipseLinkSemanticValidatorExtension</code></a>, which will provide additional
support for non-JPA related information.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Either a new concrete instance of <a href="../EclipseLinkSemanticValidatorExtension.html" title="interface in org.eclipse.persistence.jpa.jpql"><code>EclipseLinkSemanticValidatorExtension</code></a> or
<a href="../EclipseLinkSemanticValidatorExtension.html#NULL_EXTENSION"><code>EclipseLinkSemanticValidatorExtension.NULL_EXTENSION</code></a> if none is required</dd>
</dl>
</li>
</ul>
<a id="buildGrammarValidator(org.eclipse.persistence.jpa.jpql.parser.JPQLGrammar)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildGrammarValidator</h4>
<pre class="methodSignature">protected&nbsp;<a href="../EclipseLinkGrammarValidator.html" title="class in org.eclipse.persistence.jpa.jpql">EclipseLinkGrammarValidator</a>&nbsp;buildGrammarValidator&#8203;(<a href="../parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser">JPQLGrammar</a>&nbsp;jpqlGrammar)</pre>
<div class="block">Creates the concrete instance of the validator that will grammatically validate the JPQL query.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AbstractJPQLQueryHelper.html#buildGrammarValidator(org.eclipse.persistence.jpa.jpql.parser.JPQLGrammar)">buildGrammarValidator</a></code>&nbsp;in class&nbsp;<code><a href="AbstractJPQLQueryHelper.html" title="class in org.eclipse.persistence.jpa.jpql.tools">AbstractJPQLQueryHelper</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>jpqlGrammar</code> - The context used to query information about the JPQL query</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A new concrete instance of <a href="../AbstractGrammarValidator.html" title="class in org.eclipse.persistence.jpa.jpql"><code>AbstractGrammarValidator</code></a></dd>
</dl>
</li>
</ul>
<a id="buildJPQLQueryContext(org.eclipse.persistence.jpa.jpql.parser.JPQLGrammar)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildJPQLQueryContext</h4>
<pre class="methodSignature">protected&nbsp;<a href="JPQLQueryContext.html" title="class in org.eclipse.persistence.jpa.jpql.tools">JPQLQueryContext</a>&nbsp;buildJPQLQueryContext&#8203;(<a href="../parser/JPQLGrammar.html" title="interface in org.eclipse.persistence.jpa.jpql.parser">JPQLGrammar</a>&nbsp;jpqlGrammar)</pre>
<div class="block">Creates a context that will be used to store and retrieve information about the JPQL query.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AbstractJPQLQueryHelper.html#buildJPQLQueryContext(org.eclipse.persistence.jpa.jpql.parser.JPQLGrammar)">buildJPQLQueryContext</a></code>&nbsp;in class&nbsp;<code><a href="AbstractJPQLQueryHelper.html" title="class in org.eclipse.persistence.jpa.jpql.tools">AbstractJPQLQueryHelper</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>jpqlGrammar</code> - The JPQL grammar that is required for dictating how the JPQL query will be
parsed. It is also used by validation and by the content assist</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A new <a href="JPQLQueryContext.html" title="class in org.eclipse.persistence.jpa.jpql.tools"><code>JPQLQueryContext</code></a></dd>
</dl>
</li>
</ul>
<a id="buildQueryBuilder()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildQueryBuilder</h4>
<pre class="methodSignature">protected&nbsp;<a href="model/IJPQLQueryBuilder.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model">IJPQLQueryBuilder</a>&nbsp;buildQueryBuilder()</pre>
<div class="block">Creates the right <a href="model/IJPQLQueryBuilder.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model"><code>IJPQLQueryBuilder</code></a> based on the JPQL grammar.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A new concrete instance of <a href="model/IJPQLQueryBuilder.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model"><code>IJPQLQueryBuilder</code></a></dd>
</dl>
</li>
</ul>
<a id="buildRefactoringTool()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildRefactoringTool</h4>
<pre class="methodSignature">public&nbsp;<a href="RefactoringTool.html" title="class in org.eclipse.persistence.jpa.jpql.tools">RefactoringTool</a>&nbsp;buildRefactoringTool()</pre>
<div class="block">Creates the concrete instance of the tool that can refactor the content of a JPQL query. This
version provides a way to manipulate the editable version of the JPQL query (<a href="model/query/StateObject.html" title="interface in org.eclipse.persistence.jpa.jpql.tools.model.query"><code>StateObject</code></a> and simply
outputs the result of the refactoring operations, i.e. the updated JPQL query).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AbstractJPQLQueryHelper.html#buildRefactoringTool()">buildRefactoringTool</a></code>&nbsp;in class&nbsp;<code><a href="AbstractJPQLQueryHelper.html" title="class in org.eclipse.persistence.jpa.jpql.tools">AbstractJPQLQueryHelper</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The concrete instance of <a href="RefactoringTool.html" title="class in org.eclipse.persistence.jpa.jpql.tools"><code>RefactoringTool</code></a></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="AbstractJPQLQueryHelper.html#buildBasicRefactoringTool()"><code>AbstractJPQLQueryHelper.buildBasicRefactoringTool()</code></a></dd>
</dl>
</li>
</ul>
<a id="buildSemanticValidator(org.eclipse.persistence.jpa.jpql.tools.JPQLQueryContext)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>buildSemanticValidator</h4>
<pre class="methodSignature">protected&nbsp;<a href="../AbstractEclipseLinkSemanticValidator.html" title="class in org.eclipse.persistence.jpa.jpql">AbstractEclipseLinkSemanticValidator</a>&nbsp;buildSemanticValidator&#8203;(<a href="JPQLQueryContext.html" title="class in org.eclipse.persistence.jpa.jpql.tools">JPQLQueryContext</a>&nbsp;queryContext)</pre>
<div class="block">Creates the concrete instance of the validator that will semantically validate the JPQL query.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AbstractJPQLQueryHelper.html#buildSemanticValidator(org.eclipse.persistence.jpa.jpql.tools.JPQLQueryContext)">buildSemanticValidator</a></code>&nbsp;in class&nbsp;<code><a href="AbstractJPQLQueryHelper.html" title="class in org.eclipse.persistence.jpa.jpql.tools">AbstractJPQLQueryHelper</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>queryContext</code> - The context used to query information about the JPQL query</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A new concrete instance of <a href="../AbstractSemanticValidator.html" title="class in org.eclipse.persistence.jpa.jpql"><code>AbstractSemanticValidator</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><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" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2017&#x2013;2020 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</footer>
</body>
</html>