blob: 529bf8befa0d37c890b83116a19f002e021cc25c [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_252) on Fri Jul 16 09:38:36 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>QueryRedirectors (EclipseLink 3.0.2, API Reference)</title>
<meta name="date" content="2021-07-16">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="QueryRedirectors (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/annotations/Property.html" title="annotation in org.eclipse.persistence.annotations"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/annotations/RangePartition.html" title="annotation in org.eclipse.persistence.annotations"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/annotations/QueryRedirectors.html" target="_top">Frames</a></li>
<li><a href="QueryRedirectors.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>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</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.annotations</div>
<h2 title="Annotation Type QueryRedirectors" class="title">Annotation Type QueryRedirectors</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Target.html?is-external=true" title="class or interface in java.lang.annotation">@Target</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Target.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/ElementType.html?is-external=true#TYPE" title="class or interface in java.lang.annotation">TYPE</a>)
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Retention.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>)
public @interface <span class="memberNameLabel">QueryRedirectors</span></pre>
<div class="block">Redirectors allow EclipseLink queries to be intercepted and pre/post processed or redirected.
They provide opportunities to extend query functionality beyond standard EclipseLink support.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/queries/QueryRedirector.html" title="interface in org.eclipse.persistence.queries"><code>QueryRedirector</code></a></dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Gordon Yorke</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>EclipseLink 1.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.optional.element.summary">
<!-- -->
</a>
<h3>Optional Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/annotations/QueryRedirectors.html#allQueries--">allQueries</a></span></code>
<div class="block">This AllQueries Query Redirector will be applied to any executing object query
that does not have a more precise redirector (like the
ReadObjectQuery Redirector) or a redirector set directly on the query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/annotations/QueryRedirectors.html#delete--">delete</a></span></code>
<div class="block">A Default Delete Object Query Redirector will be applied to any executing
DeleteObjectQuery or DeleteAllQuery that does not have a redirector set directly on the query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/annotations/QueryRedirectors.html#insert--">insert</a></span></code>
<div class="block">A Default Insert Query Redirector will be applied to any executing
InsertObjectQuery that does not have a redirector set directly on the query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/annotations/QueryRedirectors.html#readAll--">readAll</a></span></code>
<div class="block">A Default ReadAll Query Redirector will be applied to any executing
ReadAllQuery that does not have a redirector set directly on the query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/annotations/QueryRedirectors.html#readObject--">readObject</a></span></code>
<div class="block">A Default ReadObject Query Redirector will be applied to any executing
ReadObjectQuery that does not have a redirector set directly on the query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/annotations/QueryRedirectors.html#report--">report</a></span></code>
<div class="block">A Default ReportQuery Redirector will be applied to any executing
ReportQuery that does not have a redirector set directly on the query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/annotations/QueryRedirectors.html#update--">update</a></span></code>
<div class="block">A Default Update Query Redirector will be applied to any executing
UpdateObjectQuery or UpdateAllQuery that does not have a redirector set directly on the query.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.element.detail">
<!-- -->
</a>
<h3>Element Detail</h3>
<a name="allQueries--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allQueries</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;allQueries</pre>
<div class="block">This AllQueries Query Redirector will be applied to any executing object query
that does not have a more precise redirector (like the
ReadObjectQuery Redirector) or a redirector set directly on the query.
Query redirectors allow the user to intercept query execution preventing
it or alternately performing some side effect like auditing.</div>
<dl>
<dt>Default:</dt>
<dd>void.class</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="readAll--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readAll</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;readAll</pre>
<div class="block">A Default ReadAll Query Redirector will be applied to any executing
ReadAllQuery that does not have a redirector set directly on the query.
Query redirectors allow the user to intercept query execution preventing
it or alternately performing some side effect like auditing.
For users executing a JPA Query through the getResultList() API this is the redirector that will be invoked</div>
<dl>
<dt>Default:</dt>
<dd>void.class</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="readObject--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readObject</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;readObject</pre>
<div class="block">A Default ReadObject Query Redirector will be applied to any executing
ReadObjectQuery that does not have a redirector set directly on the query.
Query redirectors allow the user to intercept query execution preventing
it or alternately performing some side effect like auditing.
For users executing a JPA Query through the getSingleResult() API or EntityManager.find() this is the redirector that will be invoked</div>
<dl>
<dt>Default:</dt>
<dd>void.class</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="report--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>report</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;report</pre>
<div class="block">A Default ReportQuery Redirector will be applied to any executing
ReportQuery that does not have a redirector set directly on the query.
Query redirectors allow the user to intercept query execution preventing
it or alternately performing some side effect like auditing.
For users executing a JPA Query that contains agregate functions or selects multiple entities this is the redirector that will be invoked</div>
<dl>
<dt>Default:</dt>
<dd>void.class</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="update--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;update</pre>
<div class="block">A Default Update Query Redirector will be applied to any executing
UpdateObjectQuery or UpdateAllQuery that does not have a redirector set directly on the query.
In EclipseLink an UpdateObjectQuery is executed whenever flushing changes to the datasource.
Query redirectors allow the user to intercept query execution preventing
it or alternately performing some side effect like auditing.</div>
<dl>
<dt>Default:</dt>
<dd>void.class</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="insert--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>insert</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;insert</pre>
<div class="block">A Default Insert Query Redirector will be applied to any executing
InsertObjectQuery that does not have a redirector set directly on the query.
In EclipseLink an InsertObjectQuery is executed when persisting an object to the datasource.
Query redirectors allow the user to intercept query execution preventing
it or alternately performing some side effect like auditing.</div>
<dl>
<dt>Default:</dt>
<dd>void.class</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="delete--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>delete</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;delete</pre>
<div class="block">A Default Delete Object Query Redirector will be applied to any executing
DeleteObjectQuery or DeleteAllQuery that does not have a redirector set directly on the query.
Query redirectors allow the user to intercept query execution preventing
it or alternately performing some side effect like auditing.</div>
<dl>
<dt>Default:</dt>
<dd>void.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.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/annotations/Property.html" title="annotation in org.eclipse.persistence.annotations"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/annotations/RangePartition.html" title="annotation in org.eclipse.persistence.annotations"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/annotations/QueryRedirectors.html" target="_top">Frames</a></li>
<li><a href="QueryRedirectors.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>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>