blob: 64e4a43357f2b514dcdaf14e54003f0cd093384e [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 (version 1.7.0_67) on Sat Sep 20 17:22:59 FET 2014 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>QueryRouter (Cayenne Documentation 3.1 API)</title>
<meta name="date" content="2014-09-20">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="QueryRouter (Cayenne Documentation 3.1 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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="class-use/QueryRouter.html">Use</a></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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/query/RefreshQuery.html" title="class in org.apache.cayenne.query"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cayenne/query/QueryRouter.html" target="_top">Frames</a></li>
<li><a href="QueryRouter.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All 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>Constr&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>Constr&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.apache.cayenne.query</div>
<h2 title="Interface QueryRouter" class="title">Interface QueryRouter</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="strong">QueryRouter</span></pre>
<div class="block">An interface used by Queries to route themselves to an appropriate QueryEngine. As of
1.2 QueryRouter only supports routing by DataMap.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>1.2</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/access/QueryEngine.html" title="interface in org.apache.cayenne.access">QueryEngine</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/query/QueryRouter.html#engineForDataMap(org.apache.cayenne.map.DataMap)">engineForDataMap</a></strong>(<a href="../../../../org/apache/cayenne/map/DataMap.html" title="class in org.apache.cayenne.map">DataMap</a>&nbsp;map)</code>
<div class="block">Returns a QueryEngine that is configured to handle a given DataMap.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/query/QueryRouter.html#route(org.apache.cayenne.access.QueryEngine,%20org.apache.cayenne.query.Query,%20org.apache.cayenne.query.Query)">route</a></strong>(<a href="../../../../org/apache/cayenne/access/QueryEngine.html" title="interface in org.apache.cayenne.access">QueryEngine</a>&nbsp;engine,
<a href="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</a>&nbsp;query,
<a href="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</a>&nbsp;substitutedQuery)</code>
<div class="block">A callback method that allows a query to set its preferred engine during the
routing phase.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="route(org.apache.cayenne.access.QueryEngine, org.apache.cayenne.query.Query, org.apache.cayenne.query.Query)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>route</h4>
<pre>void&nbsp;route(<a href="../../../../org/apache/cayenne/access/QueryEngine.html" title="interface in org.apache.cayenne.access">QueryEngine</a>&nbsp;engine,
<a href="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</a>&nbsp;query,
<a href="../../../../org/apache/cayenne/query/Query.html" title="interface in org.apache.cayenne.query">Query</a>&nbsp;substitutedQuery)</pre>
<div class="block">A callback method that allows a query to set its preferred engine during the
routing phase. It allows query to further customize its routing, e.g. it is
possible to implement query chains that pass multiple queries for execution.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>engine</code> - engine to use for query execution</dd><dd><code>query</code> - A query to execute.</dd><dd><code>substitutedQuery</code> - a query that was substituted for "query". Results must be
mapped back to substituted query.</dd></dl>
</li>
</ul>
<a name="engineForDataMap(org.apache.cayenne.map.DataMap)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>engineForDataMap</h4>
<pre><a href="../../../../org/apache/cayenne/access/QueryEngine.html" title="interface in org.apache.cayenne.access">QueryEngine</a>&nbsp;engineForDataMap(<a href="../../../../org/apache/cayenne/map/DataMap.html" title="class in org.apache.cayenne.map">DataMap</a>&nbsp;map)</pre>
<div class="block">Returns a QueryEngine that is configured to handle a given DataMap.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/CayenneRuntimeException.html" title="class in org.apache.cayenne">CayenneRuntimeException</a></code> - if an engine can't be found.</dd>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if a map parameter is null.</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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="class-use/QueryRouter.html">Use</a></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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/query/RefreshQuery.html" title="class in org.apache.cayenne.query"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cayenne/query/QueryRouter.html" target="_top">Frames</a></li>
<li><a href="QueryRouter.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All 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>Constr&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>Constr&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; 2001&#x2013;2014 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
</body>
</html>