<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.7.0/javadoc/org/apache/ignite/cache/package-frame.html" />
<!-- Generated by javadoc (version 1.7.0_80) on Mon Aug 01 20:32:34 MSK 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.ignite.cache (Ignite 1.7.0)</title>
<meta name="date" content="2016-08-01">
<link rel="stylesheet" type="text/css" href="../../../../javadoc.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>
<h1 class="bar"><a href="../../../../org/apache/ignite/cache/package-summary.html" target="classFrame">org.apache.ignite.cache</a></h1>
<div class="indexContainer">
<h2 title="Interfaces">Interfaces</h2>
<ul title="Interfaces">
<li><a href="CacheEntry.html" title="interface in org.apache.ignite.cache" target="classFrame"><i>CacheEntry</i></a></li>
<li><a href="CacheEntryEventSerializableFilter.html" title="interface in org.apache.ignite.cache" target="classFrame"><i>CacheEntryEventSerializableFilter</i></a></li>
<li><a href="CacheEntryProcessor.html" title="interface in org.apache.ignite.cache" target="classFrame"><i>CacheEntryProcessor</i></a></li>
<li><a href="CacheInterceptor.html" title="interface in org.apache.ignite.cache" target="classFrame"><i>CacheInterceptor</i></a></li>
<li><a href="CacheMetrics.html" title="interface in org.apache.ignite.cache" target="classFrame"><i>CacheMetrics</i></a></li>
</ul>
<h2 title="Classes">Classes</h2>
<ul title="Classes">
<li><a href="CacheInterceptorAdapter.html" title="class in org.apache.ignite.cache" target="classFrame">CacheInterceptorAdapter</a></li>
<li><a href="CacheInterceptorEntry.html" title="class in org.apache.ignite.cache" target="classFrame">CacheInterceptorEntry</a></li>
<li><a href="CacheKeyConfiguration.html" title="class in org.apache.ignite.cache" target="classFrame">CacheKeyConfiguration</a></li>
<li><a href="CacheManager.html" title="class in org.apache.ignite.cache" target="classFrame">CacheManager</a></li>
<li><a href="CacheTypeFieldMetadata.html" title="class in org.apache.ignite.cache" target="classFrame">CacheTypeFieldMetadata</a></li>
<li><a href="CacheTypeMetadata.html" title="class in org.apache.ignite.cache" target="classFrame">CacheTypeMetadata</a></li>
<li><a href="CachingProvider.html" title="class in org.apache.ignite.cache" target="classFrame">CachingProvider</a></li>
<li><a href="QueryEntity.html" title="class in org.apache.ignite.cache" target="classFrame">QueryEntity</a></li>
<li><a href="QueryIndex.html" title="class in org.apache.ignite.cache" target="classFrame">QueryIndex</a></li>
</ul>
<h2 title="Enums">Enums</h2>
<ul title="Enums">
<li><a href="CacheAtomicityMode.html" title="enum in org.apache.ignite.cache" target="classFrame">CacheAtomicityMode</a></li>
<li><a href="CacheAtomicWriteOrderMode.html" title="enum in org.apache.ignite.cache" target="classFrame">CacheAtomicWriteOrderMode</a></li>
<li><a href="CacheMemoryMode.html" title="enum in org.apache.ignite.cache" target="classFrame">CacheMemoryMode</a></li>
<li><a href="CacheMode.html" title="enum in org.apache.ignite.cache" target="classFrame">CacheMode</a></li>
<li><a href="CachePeekMode.html" title="enum in org.apache.ignite.cache" target="classFrame">CachePeekMode</a></li>
<li><a href="CacheRebalanceMode.html" title="enum in org.apache.ignite.cache" target="classFrame">CacheRebalanceMode</a></li>
<li><a href="CacheWriteSynchronizationMode.html" title="enum in org.apache.ignite.cache" target="classFrame">CacheWriteSynchronizationMode</a></li>
<li><a href="QueryIndexType.html" title="enum in org.apache.ignite.cache" target="classFrame">QueryIndexType</a></li>
</ul>
<h2 title="Exceptions">Exceptions</h2>
<ul title="Exceptions">
<li><a href="CacheAtomicUpdateTimeoutException.html" title="class in org.apache.ignite.cache" target="classFrame">CacheAtomicUpdateTimeoutException</a></li>
<li><a href="CacheExistsException.html" title="class in org.apache.ignite.cache" target="classFrame">CacheExistsException</a></li>
<li><a href="CachePartialUpdateException.html" title="class in org.apache.ignite.cache" target="classFrame">CachePartialUpdateException</a></li>
<li><a href="CacheServerNotFoundException.html" title="class in org.apache.ignite.cache" target="classFrame">CacheServerNotFoundException</a></li>
</ul>
</div>
</body>
</html>
