<!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/package-use.html" />
<!-- Generated by javadoc (version 1.7.0_25) on Fri Mar 28 13:34:26 EST 2014 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>Uses of Package javax.cache.annotation (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="Uses of Package javax.cache.annotation (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</li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/cache/annotation/package-use.html" target="_top">Frames</a></li>
<li><a href="package-use.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>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Uses of Package javax.cache.annotation" class="title">Uses of Package<br>javax.cache.annotation</h1>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
<caption><span>Packages that use <a href="../../../javax/cache/annotation/package-summary.html">javax.cache.annotation</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="#javax.cache.annotation">javax.cache.annotation</a></td>
<td class="colLast">
<div class="block">The annotations in this package provide method interceptors for user supplied
 classes.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="javax.cache.annotation">
<!--   -->
</a>
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../javax/cache/annotation/package-summary.html">javax.cache.annotation</a> used by <a href="../../../javax/cache/annotation/package-summary.html">javax.cache.annotation</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../javax/cache/annotation/class-use/CacheInvocationContext.html#javax.cache.annotation">CacheInvocationContext</a>
<div class="block">Runtime information about an intercepted method invocation for a method
 annotated with <a href="../../../javax/cache/annotation/CacheResult.html" title="annotation in javax.cache.annotation"><code>CacheResult</code></a>, <a href="../../../javax/cache/annotation/CachePut.html" title="annotation in javax.cache.annotation"><code>CachePut</code></a>, <a href="../../../javax/cache/annotation/CacheRemove.html" title="annotation in javax.cache.annotation"><code>CacheRemove</code></a>,
 or <a href="../../../javax/cache/annotation/CacheRemoveAll.html" title="annotation in javax.cache.annotation"><code>CacheRemoveAll</code></a></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../javax/cache/annotation/class-use/CacheInvocationParameter.html#javax.cache.annotation">CacheInvocationParameter</a>
<div class="block">A parameter to an intercepted method invocation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../javax/cache/annotation/class-use/CacheKeyInvocationContext.html#javax.cache.annotation">CacheKeyInvocationContext</a>
<div class="block">Runtime information about an intercepted method invocation for a method
 annotated with <a href="../../../javax/cache/annotation/CacheResult.html" title="annotation in javax.cache.annotation"><code>CacheResult</code></a>, <a href="../../../javax/cache/annotation/CachePut.html" title="annotation in javax.cache.annotation"><code>CachePut</code></a>, or
 <a href="../../../javax/cache/annotation/CacheRemove.html" title="annotation in javax.cache.annotation"><code>CacheRemove</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../javax/cache/annotation/class-use/CacheMethodDetails.html#javax.cache.annotation">CacheMethodDetails</a>
<div class="block">Static information about a method annotated with one of:
 <a href="../../../javax/cache/annotation/CacheResult.html" title="annotation in javax.cache.annotation"><code>CacheResult</code></a>, <a href="../../../javax/cache/annotation/CachePut.html" title="annotation in javax.cache.annotation"><code>CachePut</code></a>, <a href="../../../javax/cache/annotation/CacheRemove.html" title="annotation in javax.cache.annotation"><code>CacheRemove</code></a>, or <a href="../../../javax/cache/annotation/CacheRemoveAll.html" title="annotation in javax.cache.annotation"><code>CacheRemoveAll</code></a></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../javax/cache/annotation/class-use/CacheResolver.html#javax.cache.annotation">CacheResolver</a>
<div class="block">Determines the <a href="../../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a> to use for an intercepted method invocation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../javax/cache/annotation/class-use/CacheResult.html#javax.cache.annotation">CacheResult</a>
<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.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../javax/cache/annotation/class-use/GeneratedCacheKey.html#javax.cache.annotation">GeneratedCacheKey</a>
<div class="block">A <a href="http://download.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a>, immutable, thread-safe object that is used as a key,
 automatically generated by a <a href="../../../javax/cache/annotation/CacheKeyGenerator.html" title="interface in javax.cache.annotation"><code>CacheKeyGenerator</code></a>.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= 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</li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/cache/annotation/package-use.html" target="_top">Frames</a></li>
<li><a href="package-use.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>
<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>
