blob: d04307c401667727d2fe4ec0bce8de2e4301d8d7 [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 Thu Apr 08 02:07:33 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>MethodBaseQueryRedirector (EclipseLink 3.0.1, API Reference)</title>
<meta name="date" content="2021-04-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="MethodBaseQueryRedirector (EclipseLink 3.0.1, 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};
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.1, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/queries/ModifyAllQuery.html" title="class in org.eclipse.persistence.queries"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/queries/MethodBaseQueryRedirector.html" target="_top">Frames</a></li>
<li><a href="MethodBaseQueryRedirector.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.persistence.queries</div>
<h2 title="Class MethodBaseQueryRedirector" class="title">Class MethodBaseQueryRedirector</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.queries.MethodBaseQueryRedirector</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../org/eclipse/persistence/queries/QueryRedirector.html" title="interface in org.eclipse.persistence.queries">QueryRedirector</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">MethodBaseQueryRedirector</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>
implements <a href="../../../../org/eclipse/persistence/queries/QueryRedirector.html" title="interface in org.eclipse.persistence.queries">QueryRedirector</a></pre>
<div class="block"><p><b>Purpose</b>:
Allows a class to be a <code>QueryRedirector</code> without implementing
<a href="../../../../org/eclipse/persistence/queries/QueryRedirector.html" title="interface in org.eclipse.persistence.queries"><code>QueryRedirector</code></a>.
<p><b>Description</b>:
Normally to define a Redirector a Class must implement <code>QueryRedirector</code> and
the required <a href="../../../../org/eclipse/persistence/queries/QueryRedirector.html#invokeQuery-org.eclipse.persistence.queries.DatabaseQuery-org.eclipse.persistence.sessions.Record-org.eclipse.persistence.sessions.Session-"><code>QueryRedirector.invokeQuery(DatabaseQuery, Record, Session)</code></a>.
<p>
To maintain transparency it is possible to instead only define a static
method that takes the same arguments as <code>invokeQuery</code>.
<p>
An instance of <code>MethodBaseQueryRedirector</code> can be constructed, taking the name of that static
method and the <code>Class</code> in which it is defined as parameters.
<p>
Whenever <code>invokeQuery</code> is called on this instance reflection will
automatically be used to invoke the custom method instead.
<p>
<b>Advantages</b>:
<ul>
<li> The Redirector class and method name can be specified dynamically.
<li> The class containing the <code>invokeQuery</code> method does not need to implement
<code>QueryRedirector</code>.
<li> The <code>invokeQuery</code> method can have any name.
<li> The <code>invokeQuery</code> method can alternatively be defined to accept only
<code>Session session</code> and <code>Vector arguments</code> as parameters.
</ul>
<b>Disadvantages</b>:
<ul>
<li> An extra step is added as the real <code>invokeQuery</code> method is called
dynamically.
</ul>
<p><b>Example</b>:
<BLOCKQUOTE><PRE>
// First create a named query, define a redirector for it, and add the query
// to the query manager.
ReadObjectQuery query = new ReadObjectQuery(Employee.class);
query.setName("findEmployeeByAnEmployee");
query.addArgument("employee");
MethodBaseQueryRedirector redirector = new
MethodBaseQueryRedirector(QueryRedirectorTest.class, "findEmployeeByAnEmployee");
query.setRedirector(redirector);
ClassDescriptor descriptor = getSession().getDescriptor(query.getReferenceClass());
descriptor.getQueryManager().addQuery(query.getName(), query);
// Now execute the query by name, passing in an Employee as an argument.
Vector arguments = new Vector();
arguments.addElement(employee);
objectFromDatabase =
getSession().executeQuery("findEmployeeByAnEmployee", Employee.class, arguments);
// Note this Class does not implement QueryRedirector or method invokeQuery.
public class QueryRedirectorTest {
public static Object findEmployeeByAnEmployee(DatabaseQuery query, Record arguments, Session session) {
((ReadObjectQuery) query).setSelectionObject(arguments.get("employee"));
return session.executeQuery(query);
}
}</PRE></BLOCKQUOTE><p></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>,
<a href="../../../../serialized-form.html#org.eclipse.persistence.queries.MethodBaseQueryRedirector">Serialized Form</a></dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>James Sutherland</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>TOPLink/Java 3.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/MethodBaseQueryRedirector.html#method">method</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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/queries/MethodBaseQueryRedirector.html#methodClass">methodClass</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <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/queries/MethodBaseQueryRedirector.html#methodClassName">methodClassName</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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/queries/MethodBaseQueryRedirector.html#methodName">methodName</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/MethodBaseQueryRedirector.html#MethodBaseQueryRedirector--">MethodBaseQueryRedirector</a></span>()</code>
<div class="block">PUBLIC:
Returns a new query redirector.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/MethodBaseQueryRedirector.html#MethodBaseQueryRedirector-java.lang.Class-java.lang.String-">MethodBaseQueryRedirector</a></span>(<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;methodClass,
<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;methodName)</code>
<div class="block">PUBLIC:
Returns a new query redirector based on the static method in methodClass.</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>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/MethodBaseQueryRedirector.html#getMethod--">getMethod</a></span>()</code>
<div class="block">INTERNAL:
Returns the static method.</div>
</td>
</tr>
<tr id="i1" 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/queries/MethodBaseQueryRedirector.html#getMethodClass--">getMethodClass</a></span>()</code>
<div class="block">PUBLIC:
Returns the class to execute the static method on.</div>
</td>
</tr>
<tr id="i2" 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/queries/MethodBaseQueryRedirector.html#getMethodClassName--">getMethodClassName</a></span>()</code>
<div class="block">INTERNAL:
Returns the class to execute the static method on.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/MethodBaseQueryRedirector.html#getMethodName--">getMethodName</a></span>()</code>
<div class="block">PUBLIC:
Returns the name of the static method.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/MethodBaseQueryRedirector.html#initializeMethod-org.eclipse.persistence.queries.DatabaseQuery-">initializeMethod</a></span>(<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
Set the method.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><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></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/MethodBaseQueryRedirector.html#invokeQuery-org.eclipse.persistence.queries.DatabaseQuery-org.eclipse.persistence.sessions.Record-org.eclipse.persistence.sessions.Session-">invokeQuery</a></span>(<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query,
<a href="../../../../org/eclipse/persistence/sessions/Record.html" title="interface in org.eclipse.persistence.sessions">Record</a>&nbsp;arguments,
<a href="../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</code>
<div class="block">INTERNAL:
Call the static method to execute the query.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/MethodBaseQueryRedirector.html#setMethod-java.lang.reflect.Method-">setMethod</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;newMethod)</code>
<div class="block">INTERNAL:
Sets the static method.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/MethodBaseQueryRedirector.html#setMethodClass-java.lang.Class-">setMethodClass</a></span>(<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;newMethodClass)</code>
<div class="block">PUBLIC:
Sets the class to execute the static method on.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/MethodBaseQueryRedirector.html#setMethodClassName-java.lang.String-">setMethodClassName</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;newMethodClassName)</code>
<div class="block">INTERNAL:
Sets the class to execute the static method on.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/queries/MethodBaseQueryRedirector.html#setMethodName-java.lang.String-">setMethodName</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;newMethodName)</code>
<div class="block">PUBLIC:
Sets the name of the static method.</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#toString--" title="class or interface in java.lang">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">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="methodClass">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>methodClass</h4>
<pre>protected&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> methodClass</pre>
</li>
</ul>
<a name="methodClassName">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>methodClassName</h4>
<pre>protected&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> methodClassName</pre>
</li>
</ul>
<a name="methodName">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>methodName</h4>
<pre>protected&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> methodName</pre>
</li>
</ul>
<a name="method">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>method</h4>
<pre>protected transient&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a> method</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="MethodBaseQueryRedirector--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MethodBaseQueryRedirector</h4>
<pre>public&nbsp;MethodBaseQueryRedirector()</pre>
<div class="block">PUBLIC:
Returns a new query redirector.</div>
</li>
</ul>
<a name="MethodBaseQueryRedirector-java.lang.Class-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MethodBaseQueryRedirector</h4>
<pre>public&nbsp;MethodBaseQueryRedirector(<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;methodClass,
<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;methodName)</pre>
<div class="block">PUBLIC:
Returns a new query redirector based on the static method in methodClass.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getMethod--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMethod</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;getMethod()</pre>
<div class="block">INTERNAL:
Returns the static method.</div>
</li>
</ul>
<a name="getMethodClass--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMethodClass</h4>
<pre>public&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;getMethodClass()</pre>
<div class="block">PUBLIC:
Returns the class to execute the static method on.</div>
</li>
</ul>
<a name="getMethodClassName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMethodClassName</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;getMethodClassName()</pre>
<div class="block">INTERNAL:
Returns the class to execute the static method on.</div>
</li>
</ul>
<a name="getMethodName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMethodName</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;getMethodName()</pre>
<div class="block">PUBLIC:
Returns the name of the static method.
This method must be public, static and have argument of DatabaseQuery, Vector, Session.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/queries/MethodBaseQueryRedirector.html#setMethodName-java.lang.String-"><code>setMethodName(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="initializeMethod-org.eclipse.persistence.queries.DatabaseQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeMethod</h4>
<pre>protected&nbsp;void&nbsp;initializeMethod(<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query)
throws <a href="../../../../org/eclipse/persistence/exceptions/QueryException.html" title="class in org.eclipse.persistence.exceptions">QueryException</a></pre>
<div class="block">INTERNAL:
Set the method.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/QueryException.html" title="class in org.eclipse.persistence.exceptions">QueryException</a></code></dd>
</dl>
</li>
</ul>
<a name="invokeQuery-org.eclipse.persistence.queries.DatabaseQuery-org.eclipse.persistence.sessions.Record-org.eclipse.persistence.sessions.Session-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invokeQuery</h4>
<pre>public&nbsp;<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>&nbsp;invokeQuery(<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query,
<a href="../../../../org/eclipse/persistence/sessions/Record.html" title="interface in org.eclipse.persistence.sessions">Record</a>&nbsp;arguments,
<a href="../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</pre>
<div class="block">INTERNAL:
Call the static method to execute the query.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/queries/QueryRedirector.html#invokeQuery-org.eclipse.persistence.queries.DatabaseQuery-org.eclipse.persistence.sessions.Record-org.eclipse.persistence.sessions.Session-">invokeQuery</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/persistence/queries/QueryRedirector.html" title="interface in org.eclipse.persistence.queries">QueryRedirector</a></code></dd>
</dl>
</li>
</ul>
<a name="setMethod-java.lang.reflect.Method-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMethod</h4>
<pre>protected&nbsp;void&nbsp;setMethod(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;newMethod)</pre>
<div class="block">INTERNAL:
Sets the static method.</div>
</li>
</ul>
<a name="setMethodClass-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMethodClass</h4>
<pre>public&nbsp;void&nbsp;setMethodClass(<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;newMethodClass)</pre>
<div class="block">PUBLIC:
Sets the class to execute the static method on.</div>
</li>
</ul>
<a name="setMethodClassName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMethodClassName</h4>
<pre>public&nbsp;void&nbsp;setMethodClassName(<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;newMethodClassName)</pre>
<div class="block">INTERNAL:
Sets the class to execute the static method on.</div>
</li>
</ul>
<a name="setMethodName-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setMethodName</h4>
<pre>public&nbsp;void&nbsp;setMethodName(<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;newMethodName)</pre>
<div class="block">PUBLIC:
Sets the name of the static method.<p>
This method must be public, static and have arguments of DatabaseQuery, Record, and Session.
<p>
The DatabaseQuery argument is the query that is currently being executed.
<p>
The Record will contain the Argument names added to the Query through addArgument(Sting) or, in the case
of an Object query, the object attribute field names. These names will
reference the argument values passed into the query, or in the case of an
Object Query the values from the object.
<p>
The session argument is the session that the query is currently being executed on.
<p>
Alternatively the method can take only <code>(Session session, Vector arguments)</code>
as parameters.</div>
</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.1, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/queries/LoadGroup.html" title="class in org.eclipse.persistence.queries"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/queries/ModifyAllQuery.html" title="class in org.eclipse.persistence.queries"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/queries/MethodBaseQueryRedirector.html" target="_top">Frames</a></li>
<li><a href="MethodBaseQueryRedirector.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>