<!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_06) on Sat Oct 14 18:41:56 PDT 2006 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
ConcurrentQueryCache (OpenJPA 0.9.0-incubating API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.openjpa.datacache.ConcurrentQueryCache class">

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="ConcurrentQueryCache (OpenJPA 0.9.0-incubating 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/ConcurrentQueryCache.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/datacache/ConcurrentDataCache.html" title="class in org.apache.openjpa.datacache"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/openjpa/datacache/DataCache.html" title="interface in org.apache.openjpa.datacache"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/openjpa/datacache/ConcurrentQueryCache.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ConcurrentQueryCache.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;<A HREF="#fields_inherited_from_class_org.apache.openjpa.datacache.AbstractQueryCache">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&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.datacache</FONT>
<BR>
Class ConcurrentQueryCache</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/openjpa/lib/util/concurrent/AbstractConcurrentEventManager.html" title="class in org.apache.openjpa.lib.util.concurrent">org.apache.openjpa.lib.util.concurrent.AbstractConcurrentEventManager</A>
      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html" title="class in org.apache.openjpa.datacache">org.apache.openjpa.datacache.AbstractQueryCache</A>
          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.openjpa.datacache.ConcurrentQueryCache</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/openjpa/datacache/QueryCache.html" title="interface in org.apache.openjpa.datacache">QueryCache</A>, <A HREF="../../../../org/apache/openjpa/datacache/TypesChangedListener.html" title="interface in org.apache.openjpa.datacache">TypesChangedListener</A>, <A HREF="../../../../org/apache/openjpa/event/RemoteCommitListener.html" title="interface in org.apache.openjpa.event">RemoteCommitListener</A>, <A HREF="../../../../org/apache/openjpa/lib/conf/Configurable.html" title="interface in org.apache.openjpa.lib.conf">Configurable</A>, <A HREF="../../../../org/apache/openjpa/lib/util/Closeable.html" title="interface in org.apache.openjpa.lib.util">Closeable</A>, <A HREF="../../../../org/apache/openjpa/lib/util/EventManager.html" title="interface in org.apache.openjpa.lib.util">EventManager</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>ConcurrentQueryCache</B><DT>extends <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html" title="class in org.apache.openjpa.datacache">AbstractQueryCache</A><DT>implements <A HREF="../../../../org/apache/openjpa/event/RemoteCommitListener.html" title="interface in org.apache.openjpa.event">RemoteCommitListener</A></DL>
</PRE>

<P>
A <A HREF="../../../../org/apache/openjpa/datacache/QueryCache.html" title="interface in org.apache.openjpa.datacache"><CODE>QueryCache</CODE></A> implementation that is optimized for concurrent
 access. When the cache fill up, values to remove from the cache are chosen
 randomly. Due to race conditions, it is possible that a get call might not
 retur a cached instance if that instance is being transferred between
 internal datastructures.
<P>

<P>
<DL>
<DT><B>Since:</B></DT>
  <DD>0.4.1</DD>
</DL>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_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>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.openjpa.datacache.AbstractQueryCache"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.openjpa.datacache.<A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html" title="class in org.apache.openjpa.datacache">AbstractQueryCache</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#conf">conf</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#log">log</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_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>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/ConcurrentQueryCache.html#ConcurrentQueryCache()">ConcurrentQueryCache</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== 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>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/ConcurrentQueryCache.html#clearInternal()">clearInternal</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear the cache.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/util/CacheMap.html" title="class in org.apache.openjpa.util">CacheMap</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/ConcurrentQueryCache.html#getCacheMap()">getCacheMap</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the underlying <A HREF="../../../../org/apache/openjpa/util/CacheMap.html" title="class in org.apache.openjpa.util"><CODE>CacheMap</CODE></A> that this cache is using.</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/datacache/ConcurrentQueryCache.html#getCacheSize()">getCacheSize</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the maximum number of unpinned objects to keep hard
 references to.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/openjpa/datacache/QueryResult.html" title="class in org.apache.openjpa.datacache">QueryResult</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/ConcurrentQueryCache.html#getInternal(org.apache.openjpa.datacache.QueryKey)">getInternal</A></B>(<A HREF="../../../../org/apache/openjpa/datacache/QueryKey.html" title="class in org.apache.openjpa.datacache">QueryKey</A>&nbsp;qk)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the list for the given key.</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/datacache/ConcurrentQueryCache.html#getSoftReferenceSize()">getSoftReferenceSize</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the maximum number of unpinned objects to keep soft
 references to.</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/datacache/ConcurrentQueryCache.html#initialize(org.apache.openjpa.datacache.DataCacheManager)">initialize</A></B>(<A HREF="../../../../org/apache/openjpa/datacache/DataCacheManager.html" title="interface in org.apache.openjpa.datacache">DataCacheManager</A>&nbsp;mgr)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize any resources associated with the given
 <A HREF="../../../../org/apache/openjpa/datacache/DataCacheManager.html" title="interface in org.apache.openjpa.datacache"><CODE>DataCacheManager</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &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/datacache/ConcurrentQueryCache.html#keySet()">keySet</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a threadsafe view of the keys in this cache.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/openjpa/util/CacheMap.html" title="class in org.apache.openjpa.util">CacheMap</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/ConcurrentQueryCache.html#newCacheMap()">newCacheMap</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the map to use as an internal cache.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/ConcurrentQueryCache.html#pinInternal(org.apache.openjpa.datacache.QueryKey)">pinInternal</A></B>(<A HREF="../../../../org/apache/openjpa/datacache/QueryKey.html" title="class in org.apache.openjpa.datacache">QueryKey</A>&nbsp;qk)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pin an object to the cache.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/openjpa/datacache/QueryResult.html" title="class in org.apache.openjpa.datacache">QueryResult</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/ConcurrentQueryCache.html#putInternal(org.apache.openjpa.datacache.QueryKey, org.apache.openjpa.datacache.QueryResult)">putInternal</A></B>(<A HREF="../../../../org/apache/openjpa/datacache/QueryKey.html" title="class in org.apache.openjpa.datacache">QueryKey</A>&nbsp;qk,
            <A HREF="../../../../org/apache/openjpa/datacache/QueryResult.html" title="class in org.apache.openjpa.datacache">QueryResult</A>&nbsp;result)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add the given result to the cache, returning the old result under the
 given key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/openjpa/datacache/QueryResult.html" title="class in org.apache.openjpa.datacache">QueryResult</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/ConcurrentQueryCache.html#removeInternal(org.apache.openjpa.datacache.QueryKey)">removeInternal</A></B>(<A HREF="../../../../org/apache/openjpa/datacache/QueryKey.html" title="class in org.apache.openjpa.datacache">QueryKey</A>&nbsp;qk)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the result under the given key from the cache.</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/datacache/ConcurrentQueryCache.html#setCacheSize(int)">setCacheSize</A></B>(int&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the maximum number of unpinned objects to keep hard
 references to.</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/datacache/ConcurrentQueryCache.html#setSoftReferenceSize(int)">setSoftReferenceSize</A></B>(int&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the maximum number of unpinned objects to keep soft
 references to.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/ConcurrentQueryCache.html#unpinInternal(org.apache.openjpa.datacache.QueryKey)">unpinInternal</A></B>(<A HREF="../../../../org/apache/openjpa/datacache/QueryKey.html" title="class in org.apache.openjpa.datacache">QueryKey</A>&nbsp;qk)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unpin an object from the cache.</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/datacache/ConcurrentQueryCache.html#writeLock()">writeLock</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtain a write lock on the cache.</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/datacache/ConcurrentQueryCache.html#writeUnlock()">writeUnlock</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Release the write lock on the cache.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.datacache.AbstractQueryCache"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.openjpa.datacache.<A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html" title="class in org.apache.openjpa.datacache">AbstractQueryCache</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#addTypesChangedListener(org.apache.openjpa.datacache.TypesChangedListener)">addTypesChangedListener</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#afterCommit(org.apache.openjpa.event.RemoteCommitEvent)">afterCommit</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#clear()">clear</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#close()">close</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#close(boolean)">close</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#endConfiguration()">endConfiguration</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#fireEvent(java.lang.Object, java.lang.Object)">fireEvent</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#get(org.apache.openjpa.datacache.QueryKey)">get</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#isClosed()">isClosed</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#newListenerCollection()">newListenerCollection</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#onTypesChanged(org.apache.openjpa.datacache.TypesChangedEvent)">onTypesChanged</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#pin(org.apache.openjpa.datacache.QueryKey)">pin</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#put(org.apache.openjpa.datacache.QueryKey, org.apache.openjpa.datacache.QueryResult)">put</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#remove(org.apache.openjpa.datacache.QueryKey)">remove</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#removeAllInternal(java.util.Collection)">removeAllInternal</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#removeTypesChangedListener(org.apache.openjpa.datacache.TypesChangedListener)">removeTypesChangedListener</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#setConfiguration(org.apache.openjpa.lib.conf.Configuration)">setConfiguration</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#startConfiguration()">startConfiguration</A>, <A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#unpin(org.apache.openjpa.datacache.QueryKey)">unpin</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.lib.util.concurrent.AbstractConcurrentEventManager"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.openjpa.lib.util.concurrent.<A HREF="../../../../org/apache/openjpa/lib/util/concurrent/AbstractConcurrentEventManager.html" title="class in org.apache.openjpa.lib.util.concurrent">AbstractConcurrentEventManager</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/openjpa/lib/util/concurrent/AbstractConcurrentEventManager.html#addListener(java.lang.Object)">addListener</A>, <A HREF="../../../../org/apache/openjpa/lib/util/concurrent/AbstractConcurrentEventManager.html#fireEvent(java.lang.Object)">fireEvent</A>, <A HREF="../../../../org/apache/openjpa/lib/util/concurrent/AbstractConcurrentEventManager.html#getListeners()">getListeners</A>, <A HREF="../../../../org/apache/openjpa/lib/util/concurrent/AbstractConcurrentEventManager.html#hasListener(java.lang.Object)">hasListener</A>, <A HREF="../../../../org/apache/openjpa/lib/util/concurrent/AbstractConcurrentEventManager.html#hasListeners()">hasListeners</A>, <A HREF="../../../../org/apache/openjpa/lib/util/concurrent/AbstractConcurrentEventManager.html#isFailFast()">isFailFast</A>, <A HREF="../../../../org/apache/openjpa/lib/util/concurrent/AbstractConcurrentEventManager.html#removeListener(java.lang.Object)">removeListener</A>, <A HREF="../../../../org/apache/openjpa/lib/util/concurrent/AbstractConcurrentEventManager.html#setFailFast(boolean)">setFailFast</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<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></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.event.RemoteCommitListener"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.openjpa.event.<A HREF="../../../../org/apache/openjpa/event/RemoteCommitListener.html" title="interface in org.apache.openjpa.event">RemoteCommitListener</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/openjpa/event/RemoteCommitListener.html#afterCommit(org.apache.openjpa.event.RemoteCommitEvent)">afterCommit</A>, <A HREF="../../../../org/apache/openjpa/event/RemoteCommitListener.html#close()">close</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_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>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="ConcurrentQueryCache()"><!-- --></A><H3>
ConcurrentQueryCache</H3>
<PRE>
public <B>ConcurrentQueryCache</B>()</PRE>
<DL>
</DL>

<!-- ============ 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="getCacheMap()"><!-- --></A><H3>
getCacheMap</H3>
<PRE>
public <A HREF="../../../../org/apache/openjpa/util/CacheMap.html" title="class in org.apache.openjpa.util">CacheMap</A> <B>getCacheMap</B>()</PRE>
<DL>
<DD>Returns the underlying <A HREF="../../../../org/apache/openjpa/util/CacheMap.html" title="class in org.apache.openjpa.util"><CODE>CacheMap</CODE></A> that this cache is using.
 This is not an unmodifiable view on the map, so care should be taken
 with this reference. Implementations should probably not modify the
 contents of the cache, but should only use this reference
 to obtain cache metrics. Additionally, this map may contain
 expired data. Removal of timed-out data is done in a lazy
 fashion, so the actual size of the map may be greater than the
 number of non-expired query results in cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getCacheSize()"><!-- --></A><H3>
getCacheSize</H3>
<PRE>
public int <B>getCacheSize</B>()</PRE>
<DL>
<DD>Returns the maximum number of unpinned objects to keep hard
 references to.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setCacheSize(int)"><!-- --></A><H3>
setCacheSize</H3>
<PRE>
public void <B>setCacheSize</B>(int&nbsp;size)</PRE>
<DL>
<DD>Sets the maximum number of unpinned objects to keep hard
 references to. If the map contains more unpinned objects than
 <code>size</code>, then this method will result in the cache
 flushing old values.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getSoftReferenceSize()"><!-- --></A><H3>
getSoftReferenceSize</H3>
<PRE>
public int <B>getSoftReferenceSize</B>()</PRE>
<DL>
<DD>Returns the maximum number of unpinned objects to keep soft
 references to. Defaults to <code>-1</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setSoftReferenceSize(int)"><!-- --></A><H3>
setSoftReferenceSize</H3>
<PRE>
public void <B>setSoftReferenceSize</B>(int&nbsp;size)</PRE>
<DL>
<DD>Sets the maximum number of unpinned objects to keep soft
 references to. If the map contains more soft references than
 <code>size</code>, then this method will result in the cache
 flushing values.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="initialize(org.apache.openjpa.datacache.DataCacheManager)"><!-- --></A><H3>
initialize</H3>
<PRE>
public void <B>initialize</B>(<A HREF="../../../../org/apache/openjpa/datacache/DataCacheManager.html" title="interface in org.apache.openjpa.datacache">DataCacheManager</A>&nbsp;mgr)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/datacache/QueryCache.html#initialize(org.apache.openjpa.datacache.DataCacheManager)">QueryCache</A></CODE></B></DD>
<DD>Initialize any resources associated with the given
 <A HREF="../../../../org/apache/openjpa/datacache/DataCacheManager.html" title="interface in org.apache.openjpa.datacache"><CODE>DataCacheManager</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/datacache/QueryCache.html#initialize(org.apache.openjpa.datacache.DataCacheManager)">initialize</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/datacache/QueryCache.html" title="interface in org.apache.openjpa.datacache">QueryCache</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#initialize(org.apache.openjpa.datacache.DataCacheManager)">initialize</A></CODE> in class <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html" title="class in org.apache.openjpa.datacache">AbstractQueryCache</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="writeLock()"><!-- --></A><H3>
writeLock</H3>
<PRE>
public void <B>writeLock</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/datacache/QueryCache.html#writeLock()">QueryCache</A></CODE></B></DD>
<DD>Obtain a write lock on the cache.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/datacache/QueryCache.html#writeLock()">writeLock</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/datacache/QueryCache.html" title="interface in org.apache.openjpa.datacache">QueryCache</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="writeUnlock()"><!-- --></A><H3>
writeUnlock</H3>
<PRE>
public void <B>writeUnlock</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/openjpa/datacache/QueryCache.html#writeUnlock()">QueryCache</A></CODE></B></DD>
<DD>Release the write lock on the cache.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/datacache/QueryCache.html#writeUnlock()">writeUnlock</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/datacache/QueryCache.html" title="interface in org.apache.openjpa.datacache">QueryCache</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newCacheMap()"><!-- --></A><H3>
newCacheMap</H3>
<PRE>
protected <A HREF="../../../../org/apache/openjpa/util/CacheMap.html" title="class in org.apache.openjpa.util">CacheMap</A> <B>newCacheMap</B>()</PRE>
<DL>
<DD>Return the map to use as an internal cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getInternal(org.apache.openjpa.datacache.QueryKey)"><!-- --></A><H3>
getInternal</H3>
<PRE>
protected <A HREF="../../../../org/apache/openjpa/datacache/QueryResult.html" title="class in org.apache.openjpa.datacache">QueryResult</A> <B>getInternal</B>(<A HREF="../../../../org/apache/openjpa/datacache/QueryKey.html" title="class in org.apache.openjpa.datacache">QueryKey</A>&nbsp;qk)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#getInternal(org.apache.openjpa.datacache.QueryKey)">AbstractQueryCache</A></CODE></B></DD>
<DD>Return the list for the given key.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#getInternal(org.apache.openjpa.datacache.QueryKey)">getInternal</A></CODE> in class <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html" title="class in org.apache.openjpa.datacache">AbstractQueryCache</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="putInternal(org.apache.openjpa.datacache.QueryKey, org.apache.openjpa.datacache.QueryResult)"><!-- --></A><H3>
putInternal</H3>
<PRE>
protected <A HREF="../../../../org/apache/openjpa/datacache/QueryResult.html" title="class in org.apache.openjpa.datacache">QueryResult</A> <B>putInternal</B>(<A HREF="../../../../org/apache/openjpa/datacache/QueryKey.html" title="class in org.apache.openjpa.datacache">QueryKey</A>&nbsp;qk,
                                  <A HREF="../../../../org/apache/openjpa/datacache/QueryResult.html" title="class in org.apache.openjpa.datacache">QueryResult</A>&nbsp;result)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#putInternal(org.apache.openjpa.datacache.QueryKey, org.apache.openjpa.datacache.QueryResult)">AbstractQueryCache</A></CODE></B></DD>
<DD>Add the given result to the cache, returning the old result under the
 given key.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#putInternal(org.apache.openjpa.datacache.QueryKey, org.apache.openjpa.datacache.QueryResult)">putInternal</A></CODE> in class <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html" title="class in org.apache.openjpa.datacache">AbstractQueryCache</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="removeInternal(org.apache.openjpa.datacache.QueryKey)"><!-- --></A><H3>
removeInternal</H3>
<PRE>
protected <A HREF="../../../../org/apache/openjpa/datacache/QueryResult.html" title="class in org.apache.openjpa.datacache">QueryResult</A> <B>removeInternal</B>(<A HREF="../../../../org/apache/openjpa/datacache/QueryKey.html" title="class in org.apache.openjpa.datacache">QueryKey</A>&nbsp;qk)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#removeInternal(org.apache.openjpa.datacache.QueryKey)">AbstractQueryCache</A></CODE></B></DD>
<DD>Remove the result under the given key from the cache.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#removeInternal(org.apache.openjpa.datacache.QueryKey)">removeInternal</A></CODE> in class <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html" title="class in org.apache.openjpa.datacache">AbstractQueryCache</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="clearInternal()"><!-- --></A><H3>
clearInternal</H3>
<PRE>
protected void <B>clearInternal</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#clearInternal()">AbstractQueryCache</A></CODE></B></DD>
<DD>Clear the cache.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#clearInternal()">clearInternal</A></CODE> in class <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html" title="class in org.apache.openjpa.datacache">AbstractQueryCache</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="pinInternal(org.apache.openjpa.datacache.QueryKey)"><!-- --></A><H3>
pinInternal</H3>
<PRE>
protected boolean <B>pinInternal</B>(<A HREF="../../../../org/apache/openjpa/datacache/QueryKey.html" title="class in org.apache.openjpa.datacache">QueryKey</A>&nbsp;qk)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#pinInternal(org.apache.openjpa.datacache.QueryKey)">AbstractQueryCache</A></CODE></B></DD>
<DD>Pin an object to the cache.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#pinInternal(org.apache.openjpa.datacache.QueryKey)">pinInternal</A></CODE> in class <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html" title="class in org.apache.openjpa.datacache">AbstractQueryCache</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="unpinInternal(org.apache.openjpa.datacache.QueryKey)"><!-- --></A><H3>
unpinInternal</H3>
<PRE>
protected boolean <B>unpinInternal</B>(<A HREF="../../../../org/apache/openjpa/datacache/QueryKey.html" title="class in org.apache.openjpa.datacache">QueryKey</A>&nbsp;qk)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#unpinInternal(org.apache.openjpa.datacache.QueryKey)">AbstractQueryCache</A></CODE></B></DD>
<DD>Unpin an object from the cache.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#unpinInternal(org.apache.openjpa.datacache.QueryKey)">unpinInternal</A></CODE> in class <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html" title="class in org.apache.openjpa.datacache">AbstractQueryCache</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="keySet()"><!-- --></A><H3>
keySet</H3>
<PRE>
protected <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>keySet</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#keySet()">AbstractQueryCache</A></CODE></B></DD>
<DD>Return a threadsafe view of the keys in this cache. This collection
 must be iterable without risk of concurrent modification exceptions.
 It does not have to implement contains() efficiently or use set
 semantics.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html#keySet()">keySet</A></CODE> in class <CODE><A HREF="../../../../org/apache/openjpa/datacache/AbstractQueryCache.html" title="class in org.apache.openjpa.datacache">AbstractQueryCache</A></CODE></DL>
</DD>
<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/ConcurrentQueryCache.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/datacache/ConcurrentDataCache.html" title="class in org.apache.openjpa.datacache"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/openjpa/datacache/DataCache.html" title="interface in org.apache.openjpa.datacache"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/openjpa/datacache/ConcurrentQueryCache.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ConcurrentQueryCache.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;<A HREF="#fields_inherited_from_class_org.apache.openjpa.datacache.AbstractQueryCache">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&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 Apache Software Foundation. All Rights Reserved.
</BODY>
</HTML>
