<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/jcache/1.0.0/javadoc/javax/cache/annotation/CacheResult.html" />
<!-- Generated by javadoc (version 1.7.0_25) on Fri Mar 28 13:34:25 EST 2014 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>CacheResult (JSR107 API and SPI 1.0.0 API)</title>
<meta name="date" content="2014-03-28">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="CacheResult (JSR107 API and SPI 1.0.0 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/CacheResult.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="../../../javax/cache/annotation/CacheResolverFactory.html" title="interface in javax.cache.annotation"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../javax/cache/annotation/CacheValue.html" title="annotation in javax.cache.annotation"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/cache/annotation/CacheResult.html" target="_top">Frames</a></li>
<li><a href="CacheResult.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>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation_type_optional_element_summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#annotation_type_element_detail">Element</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">javax.cache.annotation</div>
<h2 title="Annotation Type CacheResult" class="title">Annotation Type CacheResult</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre><a href="http://download.oracle.com/javase/6/docs/api/java/lang/annotation/Target.html?is-external=true" title="class or interface in java.lang.annotation">@Target</a>(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/annotation/Target.html?is-external=true#value()" title="class or interface in java.lang.annotation">value</a>={<a href="http://download.oracle.com/javase/6/docs/api/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation">METHOD</a>,<a href="http://download.oracle.com/javase/6/docs/api/java/lang/annotation/ElementType.html?is-external=true#TYPE" title="class or interface in java.lang.annotation">TYPE</a>})
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/annotation/Retention.html?is-external=true#value()" title="class or interface in java.lang.annotation">value</a>=<a href="http://download.oracle.com/javase/6/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>)
public @interface <span class="strong">CacheResult</span></pre>
<div class="block">When a method annotated with <a href="../../../javax/cache/annotation/CacheResult.html" title="annotation in javax.cache.annotation"><code>CacheResult</code></a> is invoked a
 <a href="../../../javax/cache/annotation/GeneratedCacheKey.html" title="interface in javax.cache.annotation"><code>GeneratedCacheKey</code></a> will be generated and <a href="../../../javax/cache/Cache.html#get(K)"><code>Cache.get(Object)</code></a> is
 called before the annotated method actually executes. If a value is found in the
 cache it is returned and the annotated method is never actually executed. If no
 value is found the annotated method is invoked and the returned value is stored
 in the cache with the generated key.
 <p>
 Exceptions are not cached by default. Caching of exceptions can be enabled by
 specifying an <a href="../../../javax/cache/annotation/CacheResult.html#exceptionCacheName()"><code>exceptionCacheName()</code></a>. If an exception cache is specified
 it is checked before invoking the annotated method and if a cached exception is
 found it is re-thrown.
 <p>
 The <a href="../../../javax/cache/annotation/CacheResult.html#cachedExceptions()"><code>cachedExceptions()</code></a> and <a href="../../../javax/cache/annotation/CacheResult.html#nonCachedExceptions()"><code>nonCachedExceptions()</code></a> properties
 can be used to control the exceptions are cached and those that are not.
 <p>
 To always invoke the annotated method and still cache the result set
 <a href="../../../javax/cache/annotation/CacheResult.html#skipGet()"><code>skipGet()</code></a> to true. This will disable the pre-invocation
 <a href="../../../javax/cache/Cache.html#get(K)"><code>Cache.get(Object)</code></a> call. If <a href="../../../javax/cache/annotation/CacheResult.html#exceptionCacheName()"><code>exceptionCacheName()</code></a> is
 specified the pre-invocation exception check is also disabled. This feature is
 useful for methods that create or update objects to be cached.
 <p>
 Example of caching the Domain object with a key generated from the
 <code>String</code> and <code>int</code> parameters.
 <p>
 With no <a href="../../../javax/cache/annotation/CacheResult.html#cacheName()"><code>cacheName()</code></a> specified a cache name of
 "my.app.DomainDao.getDomain(java.lang.String,int)" will be generated.
 <p><pre><code>
 package my.app;
 
 public class DomainDao {
   &#64;CacheResult
   public Domain getDomain(String domainId, int index) {
     ...
   }
 }
 </code></pre>
 <p>
 Example using the <a href="../../../javax/cache/annotation/GeneratedCacheKey.html" title="interface in javax.cache.annotation"><code>GeneratedCacheKey</code></a> annotation so that only the domainId
 parameter is used in key generation:
 <pre><code>
 package my.app;
 
 public class DomainDao {
   &#64;CacheResult
   public Domain getDomain(@CacheKey String domainId, Monitor mon) {
     ...
   }
 }
 </code></pre>
 <p>
 If exception caching is enabled via specification of
 <a href="../../../javax/cache/annotation/CacheResult.html#exceptionCacheName()"><code>exceptionCacheName()</code></a> the following rules are used to determine if a
 thrown exception is cached:
 <ol>
 <li>If <a href="../../../javax/cache/annotation/CacheResult.html#cachedExceptions()"><code>cachedExceptions()</code></a> and <a href="../../../javax/cache/annotation/CacheResult.html#nonCachedExceptions()"><code>nonCachedExceptions()</code></a> are both
 empty then all exceptions are cached</li>
 <li>If <a href="../../../javax/cache/annotation/CacheResult.html#cachedExceptions()"><code>cachedExceptions()</code></a> is specified and
 <a href="../../../javax/cache/annotation/CacheResult.html#nonCachedExceptions()"><code>nonCachedExceptions()</code></a> is not specified then only exceptions
 that pass an instanceof check against the cachedExceptions list are cached</li>
 <li>If <a href="../../../javax/cache/annotation/CacheResult.html#nonCachedExceptions()"><code>nonCachedExceptions()</code></a> is specified and
 <a href="../../../javax/cache/annotation/CacheResult.html#cachedExceptions()"><code>cachedExceptions()</code></a> is not specified then all exceptions
 that do not pass an instanceof check against the nonCachedExceptions list are
 cached</li>
 <li>If <a href="../../../javax/cache/annotation/CacheResult.html#cachedExceptions()"><code>cachedExceptions()</code></a> and <a href="../../../javax/cache/annotation/CacheResult.html#nonCachedExceptions()"><code>nonCachedExceptions()</code></a> are both
 specified then exceptions that pass an instanceof check against the
 cachedExceptions list but do not pass an instanceof check against the
 nonCachedExceptions list are cached</li>
 </ol></div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>1.0</dd>
<dt><span class="strong">Author:</span></dt>
  <dd>Eric Dalquist, Rick Hightower</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/cache/annotation/CacheKey.html" title="annotation in javax.cache.annotation"><code>CacheKey</code></a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation_type_optional_element_summary">
<!--   -->
</a>
<h3>Optional Element Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;[]</code></td>
<td class="colLast"><code><strong><a href="../../../javax/cache/annotation/CacheResult.html#cachedExceptions()">cachedExceptions</a></strong></code>
<div class="block">Defines zero (0) or more exception <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang"><code>classes</code></a>, that must be a
 subclass of <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><code>Throwable</code></a>, indicating the exception types that
 <b>must</b> be cached.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../javax/cache/annotation/CacheKeyGenerator.html" title="interface in javax.cache.annotation">CacheKeyGenerator</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../javax/cache/annotation/CacheResult.html#cacheKeyGenerator()">cacheKeyGenerator</a></strong></code>
<div class="block">The <a href="../../../javax/cache/annotation/CacheKeyGenerator.html" title="interface in javax.cache.annotation"><code>CacheKeyGenerator</code></a> to use to generate the <a href="../../../javax/cache/annotation/GeneratedCacheKey.html" title="interface in javax.cache.annotation"><code>GeneratedCacheKey</code></a>
 for interacting with the specified Cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/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="../../../javax/cache/annotation/CacheResult.html#cacheName()">cacheName</a></strong></code>
<div class="block">The name of the cache.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../javax/cache/annotation/CacheResolverFactory.html" title="interface in javax.cache.annotation">CacheResolverFactory</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../javax/cache/annotation/CacheResult.html#cacheResolverFactory()">cacheResolverFactory</a></strong></code>
<div class="block">The <a href="../../../javax/cache/annotation/CacheResolverFactory.html" title="interface in javax.cache.annotation"><code>CacheResolverFactory</code></a> used to find the <a href="../../../javax/cache/annotation/CacheResolver.html" title="interface in javax.cache.annotation"><code>CacheResolver</code></a> to
 use at runtime.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/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="../../../javax/cache/annotation/CacheResult.html#exceptionCacheName()">exceptionCacheName</a></strong></code>
<div class="block">The name of the cache to cache exceptions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;[]</code></td>
<td class="colLast"><code><strong><a href="../../../javax/cache/annotation/CacheResult.html#nonCachedExceptions()">nonCachedExceptions</a></strong></code>
<div class="block">Defines zero (0) or more exception <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang"><code>Classes</code></a>, that must be a
 subclass of <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><code>Throwable</code></a>, indicating the exception types that
 <b>must not</b> be cached.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../javax/cache/annotation/CacheResult.html#skipGet()">skipGet</a></strong></code>
<div class="block">If set to true the pre-invocation <a href="../../../javax/cache/Cache.html#get(K)"><code>Cache.get(Object)</code></a> is
 skipped and the annotated method is always executed with the returned value
 being cached as normal.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation_type_element_detail">
<!--   -->
</a>
<h3>Element Detail</h3>
<a name="cacheName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cacheName</h4>
<pre>public abstract&nbsp;<a href="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;cacheName</pre>
<div class="block">The name of the cache.
 <p>
 If not specified defaults first to <a href="../../../javax/cache/annotation/CacheDefaults.html#cacheName()"><code>CacheDefaults.cacheName()</code></a> and if
 that is not set it defaults to:
 package.name.ClassName.methodName(package.ParameterType,package.ParameterType)</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
<a name="skipGet()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>skipGet</h4>
<pre>public abstract&nbsp;boolean&nbsp;skipGet</pre>
<div class="block">If set to true the pre-invocation <a href="../../../javax/cache/Cache.html#get(K)"><code>Cache.get(Object)</code></a> is
 skipped and the annotated method is always executed with the returned value
 being cached as normal. This is useful for create or update methods that
 should always be executed and have their returned value placed in the cache.
 <p>
 If true and an <a href="../../../javax/cache/annotation/CacheResult.html#exceptionCacheName()"><code>exceptionCacheName()</code></a> is specified the pre-invocation
 check for a thrown exception is also skipped. If an exception is thrown during
 invocation it will be cached following the standard exception caching rules.
 <p>
 Defaults to false.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/cache/annotation/CachePut.html" title="annotation in javax.cache.annotation"><code>CachePut</code></a></dd></dl>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
<a name="cacheResolverFactory()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cacheResolverFactory</h4>
<pre>public abstract&nbsp;<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../javax/cache/annotation/CacheResolverFactory.html" title="interface in javax.cache.annotation">CacheResolverFactory</a>&gt;&nbsp;cacheResolverFactory</pre>
<div class="block">The <a href="../../../javax/cache/annotation/CacheResolverFactory.html" title="interface in javax.cache.annotation"><code>CacheResolverFactory</code></a> used to find the <a href="../../../javax/cache/annotation/CacheResolver.html" title="interface in javax.cache.annotation"><code>CacheResolver</code></a> to
 use at runtime.
 <p>
 The default resolver pair will resolve the cache by name from the default
 <a href="../../../javax/cache/CacheManager.html" title="interface in javax.cache"><code>CacheManager</code></a></div>
<dl>
<dt>Default:</dt>
<dd>javax.cache.annotation.CacheResolverFactory.class</dd>
</dl>
</li>
</ul>
<a name="cacheKeyGenerator()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cacheKeyGenerator</h4>
<pre>public abstract&nbsp;<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../javax/cache/annotation/CacheKeyGenerator.html" title="interface in javax.cache.annotation">CacheKeyGenerator</a>&gt;&nbsp;cacheKeyGenerator</pre>
<div class="block">The <a href="../../../javax/cache/annotation/CacheKeyGenerator.html" title="interface in javax.cache.annotation"><code>CacheKeyGenerator</code></a> to use to generate the <a href="../../../javax/cache/annotation/GeneratedCacheKey.html" title="interface in javax.cache.annotation"><code>GeneratedCacheKey</code></a>
 for interacting with the specified Cache.
 <p>
 Defaults to a key generator that uses
 <a href="http://download.oracle.com/javase/6/docs/api/java/util/Arrays.html?is-external=true#deepHashCode(java.lang.Object[])" title="class or interface in java.util"><code>Arrays.deepHashCode(Object[])</code></a> and
 <a href="http://download.oracle.com/javase/6/docs/api/java/util/Arrays.html?is-external=true#deepEquals(java.lang.Object[], java.lang.Object[])" title="class or interface in java.util"><code>Arrays.deepEquals(Object[], Object[])</code></a> with the array
 returned by <a href="../../../javax/cache/annotation/CacheKeyInvocationContext.html#getKeyParameters()"><code>CacheKeyInvocationContext.getKeyParameters()</code></a></div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/cache/annotation/CacheKey.html" title="annotation in javax.cache.annotation"><code>CacheKey</code></a></dd></dl>
<dl>
<dt>Default:</dt>
<dd>javax.cache.annotation.CacheKeyGenerator.class</dd>
</dl>
</li>
</ul>
<a name="exceptionCacheName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>exceptionCacheName</h4>
<pre>public abstract&nbsp;<a href="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;exceptionCacheName</pre>
<div class="block">The name of the cache to cache exceptions.
 <p>
 If not specified no exception caching is done.</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
<a name="cachedExceptions()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cachedExceptions</h4>
<pre>public abstract&nbsp;<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;[]&nbsp;cachedExceptions</pre>
<div class="block">Defines zero (0) or more exception <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang"><code>classes</code></a>, that must be a
 subclass of <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><code>Throwable</code></a>, indicating the exception types that
 <b>must</b> be cached. Only consulted if <a href="../../../javax/cache/annotation/CacheResult.html#exceptionCacheName()"><code>exceptionCacheName()</code></a> is
 specified.</div>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
<a name="nonCachedExceptions()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>nonCachedExceptions</h4>
<pre>public abstract&nbsp;<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;[]&nbsp;nonCachedExceptions</pre>
<div class="block">Defines zero (0) or more exception <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang"><code>Classes</code></a>, that must be a
 subclass of <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><code>Throwable</code></a>, indicating the exception types that
 <b>must not</b> be cached. Only consulted if <a href="../../../javax/cache/annotation/CacheResult.html#exceptionCacheName()"><code>exceptionCacheName()</code></a>
 is specified.</div>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CacheResult.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="../../../javax/cache/annotation/CacheResolverFactory.html" title="interface in javax.cache.annotation"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../javax/cache/annotation/CacheValue.html" title="annotation in javax.cache.annotation"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/cache/annotation/CacheResult.html" target="_top">Frames</a></li>
<li><a href="CacheResult.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>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation_type_optional_element_summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#annotation_type_element_detail">Element</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2014. All Rights Reserved.</small></p>
</body>
</html>
