<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_11) on Tue Feb 12 17:38:28 PST 2008 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
QueryContext (OpenJPA 1.0.2 API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.openjpa.kernel.QueryContext interface">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="QueryContext (OpenJPA 1.0.2 API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/QueryContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/Query.html" title="interface in org.apache.openjpa.kernel"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/QueryFlushModes.html" title="interface in org.apache.openjpa.kernel"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/openjpa/kernel/QueryContext.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="QueryContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.openjpa.kernel</FONT>
<BR>
Interface QueryContext</H2>
<DL>
<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../org/apache/openjpa/kernel/Query.html" title="interface in org.apache.openjpa.kernel">Query</A></DD>
</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/openjpa/kernel/DelegatingQuery.html" title="class in org.apache.openjpa.kernel">DelegatingQuery</A>, <A HREF="../../../../org/apache/openjpa/kernel/QueryImpl.html" title="class in org.apache.openjpa.kernel">QueryImpl</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>QueryContext</B></DL>
</PRE>

<P>
A query execution context.
<P>

<P>
<DL>
<DT><B>Since:</B></DT>
  <DD>0.4.0</DD>
<DT><B>Author:</B></DT>
  <DD>Abe White</DD>
</DL>
<HR>

<P>

<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#classForName(java.lang.String, java.lang.String[])">classForName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
             <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;imports)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Helper method to instantiate the class with the given name, taking
 into account the query's candidate package, automatic imports, and
 the given imports (if any).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#declareParameters(java.lang.String)">declareParameters</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;params)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Declared parameters, for query languages that use them.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Number.html" title="class or interface in java.lang">Number</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#deleteInMemory(org.apache.openjpa.kernel.StoreQuery, org.apache.openjpa.kernel.StoreQuery.Executor, java.lang.Object[])">deleteInMemory</A></B>(<A HREF="../../../../org/apache/openjpa/kernel/StoreQuery.html" title="interface in org.apache.openjpa.kernel">StoreQuery</A>&nbsp;q,
               <A HREF="../../../../org/apache/openjpa/kernel/StoreQuery.Executor.html" title="interface in org.apache.openjpa.kernel">StoreQuery.Executor</A>&nbsp;ex,
               <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;params)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Helper method to delete the objects found by executing a query on
 the given executor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getAccessPathMetaDatas()">getAccessPathMetaDatas</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the classes that affect this query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/exps/AggregateListener.html" title="interface in org.apache.openjpa.kernel.exps">AggregateListener</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getAggregateListener(java.lang.String)">getAggregateListener</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;tag)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the filter listener for the given tag, or null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getAggregateListeners()">getAggregateListeners</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The set of aggregate listeners.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getAlias()">getAlias</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If this query is not a projection but places candidate results into a
 result class under an alias, return that alias.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getCandidateCollection()">getCandidateCollection</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the candidate collection, or <code>null</code> if an
 extent was specified instead of a collection.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getCandidateType()">getCandidateType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the class of the objects that this query will return,
 or <code>null</code> if this information is not available / not relevant.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getCompilation()">getCompilation</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the query's compilation state.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getEndRange()">getEndRange</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the 0-based exclusive end index for the returned results,
 or <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Long.html#MAX_VALUE" title="class or interface in java.lang"><CODE>Long.MAX_VALUE</CODE></A> for no limit.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getFetchConfiguration()">getFetchConfiguration</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the fetch configuration for this query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/exps/FilterListener.html" title="interface in org.apache.openjpa.kernel.exps">FilterListener</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getFilterListener(java.lang.String)">getFilterListener</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;tag)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the filter listener for the given tag, or null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getFilterListeners()">getFilterListeners</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The set of filter listeners.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getIgnoreChanges()">getIgnoreChanges</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to ignore changes in the current transaction.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getLanguage()">getLanguage</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The query language.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getOperation()">getOperation</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the operation that this query will be expected to perform.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getParameterDeclaration()">getParameterDeclaration</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The parameter declaration.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://jakarta.apache.org/commons/collections/api-release/org/apache/commons/collections/map/LinkedMap.html" title="class or interface in org.apache.commons.collections.map">LinkedMap</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getParameterTypes()">getParameterTypes</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a map of parameter name to type for this query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getProjectionAliases()">getProjectionAliases</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If this query is a projection, return the projection aliases.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getProjectionTypes()">getProjectionTypes</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If this query is a projection, return the projection types.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/Query.html" title="interface in org.apache.openjpa.kernel">Query</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getQuery()">getQuery</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the query for this context.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getQueryString()">getQueryString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The query string.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getResultMappingName()">getResultMappingName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name of a mapping from the result data to its object representation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getResultMappingScope()">getResultMappingScope</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scope of a mapping from the result data to its object representation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getResultType()">getResultType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the result class that has been set through
 <A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#setResultType(java.lang.Class)"><CODE>setResultType(java.lang.Class)</CODE></A>, or null if none.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getStartRange()">getStartRange</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the 0-based start index for the returned results.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getStoreContext()">getStoreContext</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The persistence context for the query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#getUpdates()">getUpdates</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If this query is a bulk update, return a map of the
 <A HREF="../../../../org/apache/openjpa/meta/FieldMetaData.html" title="class in org.apache.openjpa.meta"><CODE>FieldMetaData</CODE></A>s to <A HREF="../../../../org/apache/openjpa/kernel/exps/Constant.html" title="interface in org.apache.openjpa.kernel.exps"><CODE>Constant</CODE></A>s.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#hasGrouping()">hasGrouping</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if the query uses grouping.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#hasSubclasses()">hasSubclasses</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether query results will include subclasses of the candidate class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#isAggregate()">isAggregate</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if the query is an aggregate.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#isReadOnly()">isReadOnly</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether the query has been marked read-only.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#isUnique()">isUnique</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The unique flag.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#lock()">lock</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Synchronize on the query's internal lock.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#setCandidateType(java.lang.Class, boolean)">setCandidateType</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cls,
                 boolean&nbsp;subs)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the candidate type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#setRange(long, long)">setRange</A></B>(long&nbsp;start,
         long&nbsp;end)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the range of results to return.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#setReadOnly(boolean)">setReadOnly</A></B>(boolean&nbsp;readOnly)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether the query has been marked read-only.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#setResultMapping(java.lang.Class, java.lang.String)">setResultMapping</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;scope,
                 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name and scope of a mapping from the result data to its object
 representation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#setResultType(java.lang.Class)">setResultType</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cls)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specify the type of object in which the result of evaluating this query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#setUnique(boolean)">setUnique</A></B>(boolean&nbsp;unique)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specify that the query will return only 1
 result, rather than a collection.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#unlock()">unlock</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unlock the query's internal lock.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Number.html" title="class or interface in java.lang">Number</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#updateInMemory(org.apache.openjpa.kernel.StoreQuery, org.apache.openjpa.kernel.StoreQuery.Executor, java.lang.Object[])">updateInMemory</A></B>(<A HREF="../../../../org/apache/openjpa/kernel/StoreQuery.html" title="interface in org.apache.openjpa.kernel">StoreQuery</A>&nbsp;q,
               <A HREF="../../../../org/apache/openjpa/kernel/StoreQuery.Executor.html" title="interface in org.apache.openjpa.kernel">StoreQuery.Executor</A>&nbsp;ex,
               <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;params)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Helper method to update the objects found by executing a query on
 the given executor.</TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getQuery()"><!-- --></A><H3>
getQuery</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/kernel/Query.html" title="interface in org.apache.openjpa.kernel">Query</A> <B>getQuery</B>()</PRE>
<DL>
<DD>Return the query for this context. Note that the query will be
 unavailable in remote contexts, and this method may throw an exception
 to that effect.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getStoreContext()"><!-- --></A><H3>
getStoreContext</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/kernel/StoreContext.html" title="interface in org.apache.openjpa.kernel">StoreContext</A> <B>getStoreContext</B>()</PRE>
<DL>
<DD>The persistence context for the query.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFetchConfiguration()"><!-- --></A><H3>
getFetchConfiguration</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/kernel/FetchConfiguration.html" title="interface in org.apache.openjpa.kernel">FetchConfiguration</A> <B>getFetchConfiguration</B>()</PRE>
<DL>
<DD>Return the fetch configuration for this query.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getOperation()"><!-- --></A><H3>
getOperation</H3>
<PRE>
int <B>getOperation</B>()</PRE>
<DL>
<DD>Returns the operation that this query will be expected to perform.
<P>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>0.4.0</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/openjpa/kernel/QueryOperations.html" title="interface in org.apache.openjpa.kernel"><CODE>QueryOperations</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getLanguage()"><!-- --></A><H3>
getLanguage</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLanguage</B>()</PRE>
<DL>
<DD>The query language.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getQueryString()"><!-- --></A><H3>
getQueryString</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getQueryString</B>()</PRE>
<DL>
<DD>The query string.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getCandidateCollection()"><!-- --></A><H3>
getCandidateCollection</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> <B>getCandidateCollection</B>()</PRE>
<DL>
<DD>Return the candidate collection, or <code>null</code> if an
 extent was specified instead of a collection.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getCandidateType()"><!-- --></A><H3>
getCandidateType</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> <B>getCandidateType</B>()</PRE>
<DL>
<DD>Return the class of the objects that this query will return,
 or <code>null</code> if this information is not available / not relevant.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="hasSubclasses()"><!-- --></A><H3>
hasSubclasses</H3>
<PRE>
boolean <B>hasSubclasses</B>()</PRE>
<DL>
<DD>Whether query results will include subclasses of the candidate class.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setCandidateType(java.lang.Class, boolean)"><!-- --></A><H3>
setCandidateType</H3>
<PRE>
void <B>setCandidateType</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cls,
                      boolean&nbsp;subs)</PRE>
<DL>
<DD>Set the candidate type.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isReadOnly()"><!-- --></A><H3>
isReadOnly</H3>
<PRE>
boolean <B>isReadOnly</B>()</PRE>
<DL>
<DD>Whether the query has been marked read-only.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setReadOnly(boolean)"><!-- --></A><H3>
setReadOnly</H3>
<PRE>
void <B>setReadOnly</B>(boolean&nbsp;readOnly)</PRE>
<DL>
<DD>Whether the query has been marked read-only.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isUnique()"><!-- --></A><H3>
isUnique</H3>
<PRE>
boolean <B>isUnique</B>()</PRE>
<DL>
<DD>The unique flag.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setUnique(boolean)"><!-- --></A><H3>
setUnique</H3>
<PRE>
void <B>setUnique</B>(boolean&nbsp;unique)</PRE>
<DL>
<DD>Specify that the query will return only 1
 result, rather than a collection. The execute method will return null
 if the query result size is 0.
<P>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>0.3.0</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="getResultMappingScope()"><!-- --></A><H3>
getResultMappingScope</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> <B>getResultMappingScope</B>()</PRE>
<DL>
<DD>Scope of a mapping from the result data to its object representation.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getResultMappingName()"><!-- --></A><H3>
getResultMappingName</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getResultMappingName</B>()</PRE>
<DL>
<DD>Name of a mapping from the result data to its object representation.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setResultMapping(java.lang.Class, java.lang.String)"><!-- --></A><H3>
setResultMapping</H3>
<PRE>
void <B>setResultMapping</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;scope,
                      <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
<DD>Name and scope of a mapping from the result data to its object
 representation.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getResultType()"><!-- --></A><H3>
getResultType</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> <B>getResultType</B>()</PRE>
<DL>
<DD>Returns the result class that has been set through
 <A HREF="../../../../org/apache/openjpa/kernel/QueryContext.html#setResultType(java.lang.Class)"><CODE>setResultType(java.lang.Class)</CODE></A>, or null if none.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setResultType(java.lang.Class)"><!-- --></A><H3>
setResultType</H3>
<PRE>
void <B>setResultType</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cls)</PRE>
<DL>
<DD>Specify the type of object in which the result of evaluating this query.
<P>
<DD><DL>
<DT><B>Since:</B></DT>
  <DD>0.3.0</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="getStartRange()"><!-- --></A><H3>
getStartRange</H3>
<PRE>
long <B>getStartRange</B>()</PRE>
<DL>
<DD>Return the 0-based start index for the returned results.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getEndRange()"><!-- --></A><H3>
getEndRange</H3>
<PRE>
long <B>getEndRange</B>()</PRE>
<DL>
<DD>Return the 0-based exclusive end index for the returned results,
 or <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Long.html#MAX_VALUE" title="class or interface in java.lang"><CODE>Long.MAX_VALUE</CODE></A> for no limit.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setRange(long, long)"><!-- --></A><H3>
setRange</H3>
<PRE>
void <B>setRange</B>(long&nbsp;start,
              long&nbsp;end)</PRE>
<DL>
<DD>Set the range of results to return.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>start</CODE> - 0-based inclusive start index<DD><CODE>end</CODE> - 0-based exclusive end index, or
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Long.html#MAX_VALUE" title="class or interface in java.lang"><CODE>Long.MAX_VALUE</CODE></A> for no limit<DT><B>Since:</B></DT>
  <DD>0.3.2</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="getParameterDeclaration()"><!-- --></A><H3>
getParameterDeclaration</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getParameterDeclaration</B>()</PRE>
<DL>
<DD>The parameter declaration.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="declareParameters(java.lang.String)"><!-- --></A><H3>
declareParameters</H3>
<PRE>
void <B>declareParameters</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;params)</PRE>
<DL>
<DD>Declared parameters, for query languages that use them.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getParameterTypes()"><!-- --></A><H3>
getParameterTypes</H3>
<PRE>
<A HREF="http://jakarta.apache.org/commons/collections/api-release/org/apache/commons/collections/map/LinkedMap.html" title="class or interface in org.apache.commons.collections.map">LinkedMap</A> <B>getParameterTypes</B>()</PRE>
<DL>
<DD>Return a map of parameter name to type for this query. The returned
 map will iterate in the order that the parameters were declared or,
 if they're implicit, used.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUpdates()"><!-- --></A><H3>
getUpdates</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>getUpdates</B>()</PRE>
<DL>
<DD>If this query is a bulk update, return a map of the
 <A HREF="../../../../org/apache/openjpa/meta/FieldMetaData.html" title="class in org.apache.openjpa.meta"><CODE>FieldMetaData</CODE></A>s to <A HREF="../../../../org/apache/openjpa/kernel/exps/Constant.html" title="interface in org.apache.openjpa.kernel.exps"><CODE>Constant</CODE></A>s.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getIgnoreChanges()"><!-- --></A><H3>
getIgnoreChanges</H3>
<PRE>
boolean <B>getIgnoreChanges</B>()</PRE>
<DL>
<DD>Whether to ignore changes in the current transaction.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getCompilation()"><!-- --></A><H3>
getCompilation</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getCompilation</B>()</PRE>
<DL>
<DD>Return the query's compilation state.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getAlias()"><!-- --></A><H3>
getAlias</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getAlias</B>()</PRE>
<DL>
<DD>If this query is not a projection but places candidate results into a
 result class under an alias, return that alias.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getProjectionAliases()"><!-- --></A><H3>
getProjectionAliases</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[] <B>getProjectionAliases</B>()</PRE>
<DL>
<DD>If this query is a projection, return the projection aliases.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getProjectionTypes()"><!-- --></A><H3>
getProjectionTypes</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>[] <B>getProjectionTypes</B>()</PRE>
<DL>
<DD>If this query is a projection, return the projection types.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isAggregate()"><!-- --></A><H3>
isAggregate</H3>
<PRE>
boolean <B>isAggregate</B>()</PRE>
<DL>
<DD>Return true if the query is an aggregate.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="hasGrouping()"><!-- --></A><H3>
hasGrouping</H3>
<PRE>
boolean <B>hasGrouping</B>()</PRE>
<DL>
<DD>Return true if the query uses grouping.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getAccessPathMetaDatas()"><!-- --></A><H3>
getAccessPathMetaDatas</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/meta/ClassMetaData.html" title="class in org.apache.openjpa.meta">ClassMetaData</A>[] <B>getAccessPathMetaDatas</B>()</PRE>
<DL>
<DD>Return the classes that affect this query.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFilterListener(java.lang.String)"><!-- --></A><H3>
getFilterListener</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/kernel/exps/FilterListener.html" title="interface in org.apache.openjpa.kernel.exps">FilterListener</A> <B>getFilterListener</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;tag)</PRE>
<DL>
<DD>Return the filter listener for the given tag, or null.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getAggregateListener(java.lang.String)"><!-- --></A><H3>
getAggregateListener</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/kernel/exps/AggregateListener.html" title="interface in org.apache.openjpa.kernel.exps">AggregateListener</A> <B>getAggregateListener</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;tag)</PRE>
<DL>
<DD>Return the filter listener for the given tag, or null.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFilterListeners()"><!-- --></A><H3>
getFilterListeners</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> <B>getFilterListeners</B>()</PRE>
<DL>
<DD>The set of filter listeners.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getAggregateListeners()"><!-- --></A><H3>
getAggregateListeners</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> <B>getAggregateListeners</B>()</PRE>
<DL>
<DD>The set of aggregate listeners.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="deleteInMemory(org.apache.openjpa.kernel.StoreQuery, org.apache.openjpa.kernel.StoreQuery.Executor, java.lang.Object[])"><!-- --></A><H3>
deleteInMemory</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Number.html" title="class or interface in java.lang">Number</A> <B>deleteInMemory</B>(<A HREF="../../../../org/apache/openjpa/kernel/StoreQuery.html" title="interface in org.apache.openjpa.kernel">StoreQuery</A>&nbsp;q,
                      <A HREF="../../../../org/apache/openjpa/kernel/StoreQuery.Executor.html" title="interface in org.apache.openjpa.kernel">StoreQuery.Executor</A>&nbsp;ex,
                      <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;params)</PRE>
<DL>
<DD>Helper method to delete the objects found by executing a query on
 the given executor.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="updateInMemory(org.apache.openjpa.kernel.StoreQuery, org.apache.openjpa.kernel.StoreQuery.Executor, java.lang.Object[])"><!-- --></A><H3>
updateInMemory</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Number.html" title="class or interface in java.lang">Number</A> <B>updateInMemory</B>(<A HREF="../../../../org/apache/openjpa/kernel/StoreQuery.html" title="interface in org.apache.openjpa.kernel">StoreQuery</A>&nbsp;q,
                      <A HREF="../../../../org/apache/openjpa/kernel/StoreQuery.Executor.html" title="interface in org.apache.openjpa.kernel">StoreQuery.Executor</A>&nbsp;ex,
                      <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;params)</PRE>
<DL>
<DD>Helper method to update the objects found by executing a query on
 the given executor.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="classForName(java.lang.String, java.lang.String[])"><!-- --></A><H3>
classForName</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> <B>classForName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
                   <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;imports)</PRE>
<DL>
<DD>Helper method to instantiate the class with the given name, taking
 into account the query's candidate package, automatic imports, and
 the given imports (if any). Returns null if the type cannot be found.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="lock()"><!-- --></A><H3>
lock</H3>
<PRE>
void <B>lock</B>()</PRE>
<DL>
<DD>Synchronize on the query's internal lock.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="unlock()"><!-- --></A><H3>
unlock</H3>
<PRE>
void <B>unlock</B>()</PRE>
<DL>
<DD>Unlock the query's internal lock.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/QueryContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/Query.html" title="interface in org.apache.openjpa.kernel"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/openjpa/kernel/QueryFlushModes.html" title="interface in org.apache.openjpa.kernel"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/openjpa/kernel/QueryContext.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="QueryContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &copy; 2006-2008 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
