blob: 26217a82d0c24bf4cb4a144b2c806e60c6675402 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Sat Sep 20 17:22:58 FET 2014 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>OSQueryCache (Cayenne Documentation 3.1 API)</title>
<meta name="date" content="2014-09-20">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="OSQueryCache (Cayenne Documentation 3.1 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/OSQueryCache.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/cayenne/cache/NestedQueryCache.html" title="class in org.apache.cayenne.cache"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/cache/OSQueryCacheFactory.html" title="class in org.apache.cayenne.cache"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cayenne/cache/OSQueryCache.html" target="_top">Frames</a></li>
<li><a href="OSQueryCache.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.cayenne.cache</div>
<h2 title="Class OSQueryCache" class="title">Class OSQueryCache</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.cayenne.cache.OSQueryCache</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../org/apache/cayenne/cache/QueryCache.html" title="interface in org.apache.cayenne.cache">QueryCache</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">OSQueryCache</span>
extends <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../org/apache/cayenne/cache/QueryCache.html" title="interface in org.apache.cayenne.cache">QueryCache</a></pre>
<div class="block">A <a href="../../../../org/apache/cayenne/cache/QueryCache.html" title="interface in org.apache.cayenne.cache"><code>QueryCache</code></a> implementation based on OpenSymphony OSCache. Query cache
parameters are initialized from "/oscache.properties" file per <a
href="http://www.opensymphony.com/oscache/wiki/Configuration.html">OSCache</a>
documentation. In addition to the standard OSCache parameters, Cayenne provider allows
to setup global cache expiration parameters, and parameters matching the main query
cache group (i.e. the cache groups specified first). A sample oscache.properties may
look like this:
<pre>
# OSCache configuration file
# OSCache standard configuration per
# http://www.opensymphony.com/oscache/wiki/Configuration.html
# ---------------------------------------------------------------
#cache.memory=true
#cache.blocking=false
cache.capacity=5000
cache.algorithm=com.opensymphony.oscache.base.algorithm.LRUCache
# Cayenne specific properties
# ---------------------------------------------------------------
# Default refresh period in seconds:
cayenne.default.refresh = 60
# Default expiry specified as cron expressions per
# http://www.opensymphony.com/oscache/wiki/Cron%20Expressions.html
# expire entries every hour on the 10's minute
cayenne.default.cron = 10 * * * *
# Same parameters can be overriden per query
cayenne.group.xyz.refresh = 120
cayenne.group.xyz.cron = 10 1 * * *
</pre>
Further extension of OSQueryCache is possible by using OSCache listener API.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>3.0</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#DEFAULT_REFRESH_PERIOD">DEFAULT_REFRESH_PERIOD</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected com.opensymphony.oscache.general.GeneralCacheAdministrator</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#osCache">osCache</a></strong></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#OSQueryCache()">OSQueryCache</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#OSQueryCache(com.opensymphony.oscache.general.GeneralCacheAdministrator,%20java.util.Properties)">OSQueryCache</a></strong>(com.opensymphony.oscache.general.GeneralCacheAdministrator&nbsp;cache,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#capacity()">capacity</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#clear()">clear</a></strong>()</code>
<div class="block">Clears all cache entries.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#get(org.apache.cayenne.query.QueryMetadata)">get</a></strong>(<a href="../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;metadata)</code>
<div class="block">Returns a cached query result for the given QueryMetadata or null if the result is
not cached or is expired.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#get(org.apache.cayenne.query.QueryMetadata,%20org.apache.cayenne.cache.QueryCacheEntryFactory)">get</a></strong>(<a href="../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;metadata,
<a href="../../../../org/apache/cayenne/cache/QueryCacheEntryFactory.html" title="interface in org.apache.cayenne.cache">QueryCacheEntryFactory</a>&nbsp;factory)</code>
<div class="block">Returns a non-null cached value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#getCronExpression(java.lang.String)">getCronExpression</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#getGroupNames()">getGroupNames</a></strong>()</code>
<div class="block">Returns a collection of group names that have been configured explicitly via
properties.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>com.opensymphony.oscache.general.GeneralCacheAdministrator</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#getOsCache()">getOsCache</a></strong>()</code>
<div class="block">Returns the underlying OSCache manager object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#getProperties()">getProperties</a></strong>()</code>
<div class="block">Returns configuration properties.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#getRrefreshPeriod(java.lang.String)">getRrefreshPeriod</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#initCronPolicy(java.lang.String,%20java.lang.Object)">initCronPolicy</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Called internally for each group that is configured with cron policy in the
properties.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#initRefreshPolicy(java.lang.String,%20java.lang.Object)">initRefreshPolicy</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Called internally for each group that is configured with refresh policy in the
properties.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#put(org.apache.cayenne.query.QueryMetadata,%20java.util.List)">put</a></strong>(<a href="../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;metadata,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;results)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#remove(java.lang.String)">remove</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>
<div class="block">Removes a single entry from cache.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#removeGroup(java.lang.String)">removeGroup</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupKey)</code>
<div class="block">Removes a group of entries identified by group key.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#shutdown()">shutdown</a></strong>()</code>
<div class="block">Shuts down EhCache CacheManager</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/cache/OSQueryCache.html#size()">size</a></strong>()</code>
<div class="block">Returns the number of entries currently in the cache, including expired but not
removed entries.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="DEFAULT_REFRESH_PERIOD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_REFRESH_PERIOD</h4>
<pre>public static final&nbsp;int DEFAULT_REFRESH_PERIOD</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.cayenne.cache.OSQueryCache.DEFAULT_REFRESH_PERIOD">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="osCache">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>osCache</h4>
<pre>protected&nbsp;com.opensymphony.oscache.general.GeneralCacheAdministrator osCache</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="OSQueryCache()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OSQueryCache</h4>
<pre>public&nbsp;OSQueryCache()</pre>
</li>
</ul>
<a name="OSQueryCache(com.opensymphony.oscache.general.GeneralCacheAdministrator, java.util.Properties)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>OSQueryCache</h4>
<pre>public&nbsp;OSQueryCache(com.opensymphony.oscache.general.GeneralCacheAdministrator&nbsp;cache,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getGroupNames()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroupNames</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&nbsp;getGroupNames()</pre>
<div class="block">Returns a collection of group names that have been configured explicitly via
properties.</div>
</li>
</ul>
<a name="getCronExpression(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCronExpression</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getCronExpression(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName)</pre>
</li>
</ul>
<a name="getRrefreshPeriod(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRrefreshPeriod</h4>
<pre>public&nbsp;int&nbsp;getRrefreshPeriod(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName)</pre>
</li>
</ul>
<a name="getOsCache()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOsCache</h4>
<pre>public&nbsp;com.opensymphony.oscache.general.GeneralCacheAdministrator&nbsp;getOsCache()</pre>
<div class="block">Returns the underlying OSCache manager object.</div>
</li>
</ul>
<a name="getProperties()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperties</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;getProperties()</pre>
<div class="block">Returns configuration properties. Usually this is the contents of
"oscache.properties" file.</div>
</li>
</ul>
<a name="initCronPolicy(java.lang.String, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initCronPolicy</h4>
<pre>protected&nbsp;void&nbsp;initCronPolicy(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block">Called internally for each group that is configured with cron policy in the
properties. Exposed mainly for the benefit of subclasses. When overriding, call
'super'.</div>
</li>
</ul>
<a name="initRefreshPolicy(java.lang.String, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initRefreshPolicy</h4>
<pre>protected&nbsp;void&nbsp;initRefreshPolicy(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block">Called internally for each group that is configured with refresh policy in the
properties. Exposed mainly for the benefit of subclasses. When overriding, call
'super'.</div>
</li>
</ul>
<a name="get(org.apache.cayenne.query.QueryMetadata)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;get(<a href="../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;metadata)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/cache/QueryCache.html#get(org.apache.cayenne.query.QueryMetadata)">QueryCache</a></code></strong></div>
<div class="block">Returns a cached query result for the given QueryMetadata or null if the result is
not cached or is expired.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/cache/QueryCache.html#get(org.apache.cayenne.query.QueryMetadata)">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/cache/QueryCache.html" title="interface in org.apache.cayenne.cache">QueryCache</a></code></dd>
</dl>
</li>
</ul>
<a name="get(org.apache.cayenne.query.QueryMetadata, org.apache.cayenne.cache.QueryCacheEntryFactory)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;get(<a href="../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;metadata,
<a href="../../../../org/apache/cayenne/cache/QueryCacheEntryFactory.html" title="interface in org.apache.cayenne.cache">QueryCacheEntryFactory</a>&nbsp;factory)</pre>
<div class="block">Returns a non-null cached value. If it is not present in the cache, it is obtained
by calling <a href="../../../../org/apache/cayenne/cache/QueryCacheEntryFactory.html#createObject()"><code>QueryCacheEntryFactory.createObject()</code></a>. Whether the cache
provider will block on the entry update or not is controlled by "cache.blocking"
configuration property and is "false" by default.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/cache/QueryCache.html#get(org.apache.cayenne.query.QueryMetadata,%20org.apache.cayenne.cache.QueryCacheEntryFactory)">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/cache/QueryCache.html" title="interface in org.apache.cayenne.cache">QueryCache</a></code></dd>
</dl>
</li>
</ul>
<a name="put(org.apache.cayenne.query.QueryMetadata, java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public&nbsp;void&nbsp;put(<a href="../../../../org/apache/cayenne/query/QueryMetadata.html" title="interface in org.apache.cayenne.query">QueryMetadata</a>&nbsp;metadata,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&nbsp;results)</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/cache/QueryCache.html#put(org.apache.cayenne.query.QueryMetadata,%20java.util.List)">put</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/cache/QueryCache.html" title="interface in org.apache.cayenne.cache">QueryCache</a></code></dd>
</dl>
</li>
</ul>
<a name="remove(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>public&nbsp;void&nbsp;remove(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/cache/QueryCache.html#remove(java.lang.String)">QueryCache</a></code></strong></div>
<div class="block">Removes a single entry from cache.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/cache/QueryCache.html#remove(java.lang.String)">remove</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/cache/QueryCache.html" title="interface in org.apache.cayenne.cache">QueryCache</a></code></dd>
</dl>
</li>
</ul>
<a name="removeGroup(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeGroup</h4>
<pre>public&nbsp;void&nbsp;removeGroup(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupKey)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/cache/QueryCache.html#removeGroup(java.lang.String)">QueryCache</a></code></strong></div>
<div class="block">Removes a group of entries identified by group key. Note that depending on
implementation this method may either actively remove the entries belonging to the
group or just mark them as expired, so that they are refreshed on the next access.
In the former case the cache size would shrink, but in the later the cache size
will not change after calling this method.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/cache/QueryCache.html#removeGroup(java.lang.String)">removeGroup</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/cache/QueryCache.html" title="interface in org.apache.cayenne.cache">QueryCache</a></code></dd>
</dl>
</li>
</ul>
<a name="clear()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>public&nbsp;void&nbsp;clear()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/cache/QueryCache.html#clear()">QueryCache</a></code></strong></div>
<div class="block">Clears all cache entries.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/cache/QueryCache.html#clear()">clear</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/cache/QueryCache.html" title="interface in org.apache.cayenne.cache">QueryCache</a></code></dd>
</dl>
</li>
</ul>
<a name="size()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>size</h4>
<pre>public&nbsp;int&nbsp;size()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/cayenne/cache/QueryCache.html#size()">QueryCache</a></code></strong></div>
<div class="block">Returns the number of entries currently in the cache, including expired but not
removed entries.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/cayenne/cache/QueryCache.html#size()">size</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/cache/QueryCache.html" title="interface in org.apache.cayenne.cache">QueryCache</a></code></dd>
</dl>
</li>
</ul>
<a name="capacity()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>capacity</h4>
<pre>public&nbsp;int&nbsp;capacity()</pre>
</li>
</ul>
<a name="shutdown()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>shutdown</h4>
<pre><a href="../../../../org/apache/cayenne/di/BeforeScopeEnd.html" title="annotation in org.apache.cayenne.di">@BeforeScopeEnd</a>
public&nbsp;void&nbsp;shutdown()</pre>
<div class="block">Shuts down EhCache CacheManager</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/OSQueryCache.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/cayenne/cache/NestedQueryCache.html" title="class in org.apache.cayenne.cache"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/cache/OSQueryCacheFactory.html" title="class in org.apache.cayenne.cache"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cayenne/cache/OSQueryCache.html" target="_top">Frames</a></li>
<li><a href="OSQueryCache.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2014 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
</body>
</html>