blob: 25854f30561a3987c17e0679dc624af007e2ec67 [file] [log] [blame]
<!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_09) on Fri Apr 20 10:10:39 CDT 2007 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
DataCache (OpenJPA 0.9.7-incubating API)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.openjpa.datacache.DataCache interface">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="DataCache (OpenJPA 0.9.7-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/DataCache.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/ConcurrentQueryCache.html" title="class in org.apache.openjpa.datacache"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/openjpa/datacache/DataCacheManager.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/DataCache.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DataCache.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="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&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.datacache</FONT>
<BR>
Interface DataCache</H2>
<DL>
<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../org/apache/openjpa/lib/util/Closeable.html" title="interface in org.apache.openjpa.lib.util">Closeable</A></DD>
</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/openjpa/datacache/AbstractDataCache.html" title="class in org.apache.openjpa.datacache">AbstractDataCache</A>, <A HREF="../../../../org/apache/openjpa/datacache/ConcurrentDataCache.html" title="class in org.apache.openjpa.datacache">ConcurrentDataCache</A>, <A HREF="../../../../org/apache/openjpa/datacache/DelegatingDataCache.html" title="class in org.apache.openjpa.datacache">DelegatingDataCache</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>DataCache</B><DT>extends <A HREF="../../../../org/apache/openjpa/lib/util/Closeable.html" title="interface in org.apache.openjpa.lib.util">Closeable</A></DL>
</PRE>
<P>
Interface that must be implemented by any level 2 cache used by
OpenJPA. Most data caches will choose to implement the
<A HREF="../../../../org/apache/openjpa/lib/conf/Configurable.html" title="interface in org.apache.openjpa.lib.conf"><CODE>Configurable</CODE></A> interface as well so that
they will be given the system configuration just after construction.
Implementations should take care not to return timed out data.
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD>Patrick Linskey, Abe White</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/openjpa/datacache/AbstractDataCache.html" title="class in org.apache.openjpa.datacache"><CODE>AbstractDataCache</CODE></A>,
<A HREF="../../../../org/apache/openjpa/datacache/DataCachePCData.html#isTimedOut()"><CODE>DataCachePCData.isTimedOut()</CODE></A></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>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&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/datacache/DataCache.html#NAME_DEFAULT">NAME_DEFAULT</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of the default data cache: <code>default</code></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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#addExpirationListener(org.apache.openjpa.datacache.ExpirationListener)">addExpirationListener</A></B>(<A HREF="../../../../org/apache/openjpa/datacache/ExpirationListener.html" title="interface in org.apache.openjpa.datacache">ExpirationListener</A>&nbsp;listen)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a new expiration event listener to this 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/DataCache.html#clear()">clear</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove all data from this 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/DataCache.html#close()">close</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Free the resources used by this 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/DataCache.html#commit(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)">commit</A></B>(<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>&nbsp;additions,
<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>&nbsp;newUpdates,
<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>&nbsp;existingUpdates,
<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>&nbsp;deletes)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform a batch update of the cache.</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/datacache/DataCache.html#contains(java.lang.Object)">contains</A></B>(<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;oid)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if this cache contains data
corresponding to <code>oid</code>; otherwise returns
<code>false</code>.</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/BitSet.html" title="class or interface in java.util">BitSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#containsAll(java.util.Collection)">containsAll</A></B>(<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>&nbsp;oids)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the indexes of the oids in this 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/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache">DataCachePCData</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#get(java.lang.Object)">get</A></B>(<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;oid)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the cached object for the given oid.</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/datacache/DataCache.html#getName()">getName</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a string name that can be used by end-user-visible
code to identify this 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/DataCache.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;manager)</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>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#pin(java.lang.Object)">pin</A></B>(<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;oid)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pin the value stored under <code>oid</code> into 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/DataCache.html#pinAll(java.lang.Class, boolean)">pinAll</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;Pin all oids for the given type.</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/BitSet.html" title="class or interface in java.util">BitSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#pinAll(java.util.Collection)">pinAll</A></B>(<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>&nbsp;oids)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pin all oids to 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/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache">DataCachePCData</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#put(org.apache.openjpa.datacache.DataCachePCData)">put</A></B>(<A HREF="../../../../org/apache/openjpa/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache">DataCachePCData</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the cached value for the given instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/openjpa/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache">DataCachePCData</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#remove(java.lang.Object)">remove</A></B>(<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;oid)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the value stored under the given oid.</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/DataCache.html#removeAll(java.lang.Class, boolean)">removeAll</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;subclasses)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evict all values of a specified type.</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/BitSet.html" title="class or interface in java.util">BitSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#removeAll(java.util.Collection)">removeAll</A></B>(<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>&nbsp;oids)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the values stored under the given oids.</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/datacache/DataCache.html#removeExpirationListener(org.apache.openjpa.datacache.ExpirationListener)">removeExpirationListener</A></B>(<A HREF="../../../../org/apache/openjpa/datacache/ExpirationListener.html" title="interface in org.apache.openjpa.datacache">ExpirationListener</A>&nbsp;listen)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove an expiration event listener from this 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/DataCache.html#setName(java.lang.String)">setName</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)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets a string name to be used to identify this cache to end-user needs.</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/datacache/DataCache.html#unpin(java.lang.Object)">unpin</A></B>(<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;oid)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unpin the value stored under <code>oid</code> 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/DataCache.html#unpinAll(java.lang.Class, boolean)">unpinAll</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;Unpin all oids associaed with the given type from the cache.</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/BitSet.html" title="class or interface in java.util">BitSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#unpinAll(java.util.Collection)">unpinAll</A></B>(<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>&nbsp;oids)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unpin all oids 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/DataCache.html#update(org.apache.openjpa.datacache.DataCachePCData)">update</A></B>(<A HREF="../../../../org/apache/openjpa/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache">DataCachePCData</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Update the cached value for the given instance.</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/DataCache.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/DataCache.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;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_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>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="NAME_DEFAULT"><!-- --></A><H3>
NAME_DEFAULT</H3>
<PRE>
static final <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>NAME_DEFAULT</B></PRE>
<DL>
<DD>The name of the default data cache: <code>default</code>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.openjpa.datacache.DataCache.NAME_DEFAULT">Constant Field Values</A></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="getName()"><!-- --></A><H3>
getName</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>getName</B>()</PRE>
<DL>
<DD>Returns a string name that can be used by end-user-visible
code to identify this cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>0.2.5.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="setName(java.lang.String)"><!-- --></A><H3>
setName</H3>
<PRE>
void <B>setName</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)</PRE>
<DL>
<DD>Sets a string name to be used to identify this cache to end-user needs.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>0.2.5.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="initialize(org.apache.openjpa.datacache.DataCacheManager)"><!-- --></A><H3>
initialize</H3>
<PRE>
void <B>initialize</B>(<A HREF="../../../../org/apache/openjpa/datacache/DataCacheManager.html" title="interface in org.apache.openjpa.datacache">DataCacheManager</A>&nbsp;manager)</PRE>
<DL>
<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>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="commit(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)"><!-- --></A><H3>
commit</H3>
<PRE>
void <B>commit</B>(<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>&nbsp;additions,
<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>&nbsp;newUpdates,
<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>&nbsp;existingUpdates,
<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>&nbsp;deletes)</PRE>
<DL>
<DD>Perform a batch update of the cache. Add all <A HREF="../../../../org/apache/openjpa/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache"><CODE>DataCachePCData</CODE></A>
objects in <code>additions</code> and in
<code>newUpdates</code>, make the appropriate modifications to
all DataCachePCDatas in <code>existingUpdates</code>, and delete all
OIDs in <code>deletes</code>.
All changes made to cached data must be made via this
method. It is this method that is responsible for performing
any side-effects that should happen on meaningful cache changes.
Implementations should bear in mind that the
<code>deletes</code> collection may contain oids that are also
in the <code>additions</code> map. This is possible because it
is valid for a user to delete an object with a particular oid
and then add that object in the same batch.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>additions</CODE> - A collection of <A HREF="../../../../org/apache/openjpa/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache"><CODE>DataCachePCData</CODE></A> objects.
These represent data that have been newly created,
and thus must be added to the cache.<DD><CODE>newUpdates</CODE> - A collection of <A HREF="../../../../org/apache/openjpa/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache"><CODE>DataCachePCData</CODE></A> objects.
These represent data that have been modified but
were not originally in the cache, and thus must be added to the cache.<DD><CODE>existingUpdates</CODE> - A collection of <A HREF="../../../../org/apache/openjpa/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache"><CODE>DataCachePCData</CODE></A> objects.
These represent data that have been modified and
were originally loaded from the cache. It is
up to the cache implementation to decide if
these values must be re-enlisted in the cache.
Some caches may return live data from <A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#get(java.lang.Object)"><CODE>get(java.lang.Object)</CODE></A>
invocations, in which case these values need not be re-enlisted.<DD><CODE>deletes</CODE> - A collection of object IDs that have been deleted
and must therefore be dropped from the cache.</DL>
</DD>
</DL>
<HR>
<A NAME="contains(java.lang.Object)"><!-- --></A><H3>
contains</H3>
<PRE>
boolean <B>contains</B>(<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;oid)</PRE>
<DL>
<DD>Returns <code>true</code> if this cache contains data
corresponding to <code>oid</code>; otherwise returns
<code>false</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="containsAll(java.util.Collection)"><!-- --></A><H3>
containsAll</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/BitSet.html" title="class or interface in java.util">BitSet</A> <B>containsAll</B>(<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>&nbsp;oids)</PRE>
<DL>
<DD>Returns the indexes of the oids in this cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="get(java.lang.Object)"><!-- --></A><H3>
get</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache">DataCachePCData</A> <B>get</B>(<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;oid)</PRE>
<DL>
<DD>Return the cached object for the given oid. Modifying the returned
object may or may not change the cached value; the <A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#update(org.apache.openjpa.datacache.DataCachePCData)"><CODE>update(org.apache.openjpa.datacache.DataCachePCData)</CODE></A>
method should be used to re-cache any changed objects.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the object matching the given oid, or null if none</DL>
</DD>
</DL>
<HR>
<A NAME="put(org.apache.openjpa.datacache.DataCachePCData)"><!-- --></A><H3>
put</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache">DataCachePCData</A> <B>put</B>(<A HREF="../../../../org/apache/openjpa/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache">DataCachePCData</A>&nbsp;value)</PRE>
<DL>
<DD>Set the cached value for the given instance. This does <em>not</em>
result in an update of other caches. Rather, it should only be
used for loading clean data into the cache. Meaningful changes
to the state of the cache should be made via the <A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#commit(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)"><CODE>commit(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)</CODE></A> method.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>The previously cached value, or <code>null</code> if
the value was not previously cached. See <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html#put(K, V)" title="class or interface in java.util"><CODE>Map.put(K, V)</CODE></A>
for more information.</DL>
</DD>
</DL>
<HR>
<A NAME="update(org.apache.openjpa.datacache.DataCachePCData)"><!-- --></A><H3>
update</H3>
<PRE>
void <B>update</B>(<A HREF="../../../../org/apache/openjpa/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache">DataCachePCData</A>&nbsp;value)</PRE>
<DL>
<DD>Update the cached value for the given instance. This does
<em>not</em> result in an update of other caches. Rather, it should
only be used for loading clean data into the cache. Meaningful changes
to the state of the cache should be made via the <A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#commit(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)"><CODE>commit(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)</CODE></A> method.
A cache implementation may or may not return a live object
from <A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#get(java.lang.Object)"><CODE>get(java.lang.Object)</CODE></A> invocations. If an object retrieved from a
<A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#get(java.lang.Object)"><CODE>get(java.lang.Object)</CODE></A> operation needs to be updated, this method can be
invoked instead of invoking <A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#put(org.apache.openjpa.datacache.DataCachePCData)"><CODE>put(org.apache.openjpa.datacache.DataCachePCData)</CODE></A>. The DataCache implementation
can then make optimizations based on how its <A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#get(java.lang.Object)"><CODE>get(java.lang.Object)</CODE></A> method works.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="remove(java.lang.Object)"><!-- --></A><H3>
remove</H3>
<PRE>
<A HREF="../../../../org/apache/openjpa/datacache/DataCachePCData.html" title="interface in org.apache.openjpa.datacache">DataCachePCData</A> <B>remove</B>(<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;oid)</PRE>
<DL>
<DD>Remove the value stored under the given oid. This does
<em>not</em> result in an update of other caches. Rather, it
should only be used for removing data in the cache.
Meaningful changes to the state of the cache should be made
via the <A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#commit(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)"><CODE>commit(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)</CODE></A> method.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>The previously cached value, or <code>null</code> if
the oid was not previously cached. See <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html#remove(java.lang.Object)" title="class or interface in java.util"><CODE>Map.remove(java.lang.Object)</CODE></A>
for more information.</DL>
</DD>
</DL>
<HR>
<A NAME="removeAll(java.util.Collection)"><!-- --></A><H3>
removeAll</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/BitSet.html" title="class or interface in java.util">BitSet</A> <B>removeAll</B>(<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>&nbsp;oids)</PRE>
<DL>
<DD>Remove the values stored under the given oids.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the indexes of the removed oids<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#remove(java.lang.Object)"><CODE>remove(java.lang.Object)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="removeAll(java.lang.Class, boolean)"><!-- --></A><H3>
removeAll</H3>
<PRE>
void <B>removeAll</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;subclasses)</PRE>
<DL>
<DD>Evict all values of a specified type.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="clear()"><!-- --></A><H3>
clear</H3>
<PRE>
void <B>clear</B>()</PRE>
<DL>
<DD>Remove all data from this cache. This does <em>not</em> result
in an update of other caches. Rather, it should only be used
for clearing the cache. Meaningful changes to the state of the
cache should be made via the <A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#commit(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)"><CODE>commit(java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection)</CODE></A> method.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="pin(java.lang.Object)"><!-- --></A><H3>
pin</H3>
<PRE>
boolean <B>pin</B>(<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;oid)</PRE>
<DL>
<DD>Pin the value stored under <code>oid</code> into the cache.
This method guarantees that <code>oid</code>'s value will not
be dropped by the caching algorithm. This method does not
affect the behavior of <A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#remove(java.lang.Object)"><CODE>remove(java.lang.Object)</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD><code>true</code> if <code>oid</code>'s value was
pinned into the cache; <code>false</code> if the oid is not in the cache.</DL>
</DD>
</DL>
<HR>
<A NAME="pinAll(java.util.Collection)"><!-- --></A><H3>
pinAll</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/BitSet.html" title="class or interface in java.util">BitSet</A> <B>pinAll</B>(<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>&nbsp;oids)</PRE>
<DL>
<DD>Pin all oids to the cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the indexes of the pinned oids<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#pin(java.lang.Object)"><CODE>pin(java.lang.Object)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="pinAll(java.lang.Class, boolean)"><!-- --></A><H3>
pinAll</H3>
<PRE>
void <B>pinAll</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>Pin all oids for the given type.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subs</CODE> - Whether to include subclasses.</DL>
</DD>
</DL>
<HR>
<A NAME="unpin(java.lang.Object)"><!-- --></A><H3>
unpin</H3>
<PRE>
boolean <B>unpin</B>(<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;oid)</PRE>
<DL>
<DD>Unpin the value stored under <code>oid</code> from the cache.
This method reverses a previous invocation of <A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#pin(java.lang.Object)"><CODE>pin(java.lang.Object)</CODE></A>.
This method does not remove anything from the cache; it merely
makes <code>oid</code>'s value a candidate for flushing from the cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD><code>true</code> if <code>oid</code>'s value was
unpinned from the cache; <code>false</code> if the
oid is not in the cache.</DL>
</DD>
</DL>
<HR>
<A NAME="unpinAll(java.util.Collection)"><!-- --></A><H3>
unpinAll</H3>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/BitSet.html" title="class or interface in java.util">BitSet</A> <B>unpinAll</B>(<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>&nbsp;oids)</PRE>
<DL>
<DD>Unpin all oids from the cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the indexes of the unpinned oids<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/openjpa/datacache/DataCache.html#unpin(java.lang.Object)"><CODE>unpin(java.lang.Object)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="unpinAll(java.lang.Class, boolean)"><!-- --></A><H3>
unpinAll</H3>
<PRE>
void <B>unpinAll</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>Unpin all oids associaed with the given type from the cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subs</CODE> - Whether to include subclasses.</DL>
</DD>
</DL>
<HR>
<A NAME="writeLock()"><!-- --></A><H3>
writeLock</H3>
<PRE>
void <B>writeLock</B>()</PRE>
<DL>
<DD>Obtain a write lock on the cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="writeUnlock()"><!-- --></A><H3>
writeUnlock</H3>
<PRE>
void <B>writeUnlock</B>()</PRE>
<DL>
<DD>Release the write lock on the cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="addExpirationListener(org.apache.openjpa.datacache.ExpirationListener)"><!-- --></A><H3>
addExpirationListener</H3>
<PRE>
void <B>addExpirationListener</B>(<A HREF="../../../../org/apache/openjpa/datacache/ExpirationListener.html" title="interface in org.apache.openjpa.datacache">ExpirationListener</A>&nbsp;listen)</PRE>
<DL>
<DD>Add a new expiration event listener to this cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>0.2.5.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="removeExpirationListener(org.apache.openjpa.datacache.ExpirationListener)"><!-- --></A><H3>
removeExpirationListener</H3>
<PRE>
boolean <B>removeExpirationListener</B>(<A HREF="../../../../org/apache/openjpa/datacache/ExpirationListener.html" title="interface in org.apache.openjpa.datacache">ExpirationListener</A>&nbsp;listen)</PRE>
<DL>
<DD>Remove an expiration event listener from this cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>0.2.5.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="close()"><!-- --></A><H3>
close</H3>
<PRE>
void <B>close</B>()</PRE>
<DL>
<DD>Free the resources used by this cache.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/openjpa/lib/util/Closeable.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../org/apache/openjpa/lib/util/Closeable.html" title="interface in org.apache.openjpa.lib.util">Closeable</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/DataCache.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/ConcurrentQueryCache.html" title="class in org.apache.openjpa.datacache"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/openjpa/datacache/DataCacheManager.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/DataCache.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DataCache.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="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&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-2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>